gpt4 book ai didi

python - to_sql 引发模糊 KeyError :

转载 作者:行者123 更新时间:2023-11-29 12:56:49 25 4
gpt4 key购买 nike

id,1,2,1ah,2ah,ah_line
13399,1.08,10.03,2.0,1.89,-13.5
13400,1.07,11.25,2.0,1.89,-19.5
13401,1.22,4.84,1.97,1.93,-9.0
13402,3.09,1.43,1.99,1.92,5.0

我正在尝试通过 pandas DataFrame.to_sql 填充 mysql 数据库方法,由于某些松散的原因,它正在提高 KeyError: <class 'numpy.float64'>

print(df.dtypes)
id int64
1 float64
2 float64
1ah float64
2ah float64
ah_line float64
dtype: object

我正在画空白,有什么想法吗?我已经这样做了好几次了,但从来没有遇到过这个错误。

编辑

奇怪的是,它可以很好地处理基本相同的数据,例如:

id,q1,q2,q3,q4,ot1,ot2
13399,16.0,17.0,17.0,19.0,na,na
13400,20.0,17.0,20.0,16.0,na,na
13401,18.0,19.0,17.0,18.0,na,na
13402,15.0,17.0,17.0,16.0,na,na

信息:

pandas==0.13.1
cymysql==0.7.2

完整的回溯:

Traceback (most recent call last):
File "/home/bartek/Desktop/buckypy3/plk-working.py", line 389, in <module>
df.to_sql('plk_odds', con=conn, flavor='mysql', if_exists='append')
File "/home/bartek/py3/lib/python3.3/site-packages/pandas/core/frame.py", line 1261, in to_sql
self, name, con, flavor=flavor, if_exists=if_exists, **kwargs)
File "/home/bartek/py3/lib/python3.3/site-packages/pandas/io/sql.py", line 238, in write_frame
func(frame, name, safe_names, cur)
File "/home/bartek/py3/lib/python3.3/site-packages/pandas/io/sql.py", line 264, in _write_mysql
cur.executemany(insert_query, data)
File "/home/bartek/py3/lib/python3.3/site-packages/cymysql/cursors.py", line 144, in executemany
self.execute(query, params)
File "/home/bartek/py3/lib/python3.3/site-packages/cymysql/cursors.py", line 118, in execute
escaped_args = tuple(conn.escape(arg) for arg in args)
File "/home/bartek/py3/lib/python3.3/site-packages/cymysql/cursors.py", line 118, in <genexpr>
escaped_args = tuple(conn.escape(arg) for arg in args)
File "/home/bartek/py3/lib/python3.3/site-packages/cymysql/connections.py", line 294, in escape
return escape_item(obj, self.charset, self.encoders)
File "/home/bartek/py3/lib/python3.3/site-packages/cymysql/converters.py", line 354, in escape_item
encoder = encoders[type(val)]
KeyError: <class 'numpy.float64'>

最佳答案

这似乎是 pandas 0.13.1 中的一个错误(我可以使用 cymysql 作为 pymysql 重现它),但我不确定该错误的原因。

我用 pandas 0.14 测试了它,问题似乎已经解决了(至少用 pymysql)。 0.14 中对 sql 模块进行了重大重构(请参阅 here ),现在使用 sqlalchemy 来支持不同的数据库风格。最终 0.14 将于 2014 年 5 月 31 日发布。

关于python - to_sql 引发模糊 KeyError : <class 'numpy.float64' >,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23933796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com