- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
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/
我已经阅读了有关不向数据库添加重复记录的 Pandas to_sql 解决方案。我正在处理日志的 csv 文件,每次我上传一个新的日志文件时,我都会读取数据并使用 Pandas 创建一个新的数据框进行
我正在将PANDAS与SQLAlchemy一起使用DataFrame.to_sql写入MYSQL DB。我喜欢打开'append' --> df.to_sql(con=con, name='table
我有一个看起来像这样的数据框 id_1 id_2 id_3 ... date_1 1 3 4 date_2 4
我想将数据帧写入现有的 sqlite(或 mysql)表,有时数据帧将包含数据库中尚不存在的新列。我需要做什么才能避免抛出错误?有没有办法告诉 pandas 或 sqlalchemy 使用潜在的新列自
我正在尝试使用Django的db连接变量将pandas数据帧插入Postgres数据库。我使用的代码是 df.to_sql('forecast',connection,if_exists='appen
我目前正在尝试稍微调整一些脚本的性能,似乎瓶颈始终是使用 pandas to_sql 函数实际插入数据库(=MSSQL)。 造成这种情况的一个因素是 mssql 的参数限制为 2100。 我与 sql
有人经历过这种情况吗? 我有一个包含“int”和“varchar”列的表 - 一个报告时间表。 我正在尝试使用 python 程序将扩展名为“.xls”的 Excel 文件导入到该表中。我正在使用 p
我正在尝试将 pandas 数据框保存为 SQL 文件 我按照文档进行了尝试 from sqlalchemy import create_engine engine = create_engine('
Panda 的 to_sql() 和 if_exists='replace' 为我的表设置了错误的字符集。为了将多个 csv 复制到 mysql 并忽略行上的错误(如重复错误),我首先将 csv 读取
我有一个如下所示的数据框: df = pd.DataFrame(index= pd.date_range('2014-01-01', periods=10)) df['date'] = df.inde
我正在尝试使用 Pandas to_sql 将 .csv 文件中的数据插入到 mssql 数据库中。不管我怎么看,我都会遇到这个错误: pyodbc.DataError: ('String data,
我想不断将数据帧行添加到 MySQL 数据库中,避免任何重复的条目进入 MySQL。 我目前通过使用 df.apply() 遍历每一行并调用 MySQL insert ignore(duplicate
如何使用 df.to_sql(if_exists = 'append') 仅附加数据框和数据库之间的唯一值。换句话说,我想评估 DF 和 DB 之间的重复项,并在写入数据库之前删除这些重复项。 这个有
我有一个订购的 Pandas Dataframe。 a0 b0 c0 d0 370025442 370020440 370020436
我正在尝试使用 Python 的 pandas to_sql 命令将月度数据发送到 MySQL 数据库。我的程序一次运行一个月的数据,我想将新数据附加到现有数据库中。然而,Python 给我一个错误:
我正在使用 df.to_sql(con=con_mysql, name='testdata', if_exists='replace', flavor='mysql') 将数据框导出到 mysql。但
我有一个 1,000,000 x 50 Pandas DataFrame,我目前正在使用以下方法写入 SQL 表: df.to_sql('my_table', con, index=False) 这需
我有一个字符串格式的数字列,我想将它作为 float 发送到 PostresSQL。如何确保 SQLAlchemy 将此列设置为 float ? (请注意,列中可能是 NaN)。这是代码 import
我想在我创建的表格中插入一些数据。我有一个如下所示的数据框: 我创建了一个表: create table online.ds_attribution_probabilities ( attributi
我正在使用 Pandas 0.18.1,在摆弄这段代码时, import pd def getIndividualDf(item): var1 = [] # ... populate
我是一名优秀的程序员,十分优秀!