【发布时间】:2020-05-10 23:11:01
【问题描述】:
我无法使用 pandas dataframe.to_sql 诊断错误
我首先使用connection = mysql.connector.connect 建立连接
然后我尝试使用将我的数据插入到 mysql 数据库中
df.to_sql('SData', con = connection, if_exists = 'append', chunksize = 1000)
我得到错误:
Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': Not all parameters were used in the SQL statement
SData 表和 df 具有相同的字段/名称,除了表有一个自动递增的主键,所以我唯一能想到的是,由于主键,并非所有字段都匹配...
我也不明白为什么 to_sql 中会有一个 select 语句,除非它正在检查字段名称或类似的东西?
数据字段是:
Database:
SID Primary key
SSID int(foreign key)
FirstValue decimal
SecondValue decimal
DF:
FirstValue
SecondValue
SSID
在键入此内容时,我意识到数据框的顺序不同。不会认为这会是一个问题,但会调查这个
谢谢
【问题讨论】:
-
您是否尝试过使用
sqlalchemy.create_engine创建连接? -
你提到这个很有趣,现在就这样做:) 待命
-
它让我更进一步。我不得不切换到 pymysql 才能让它工作。现在我收到错误“'字段列表'中的未知列'索引'”。我怀疑它与数据库中的主键有关。谢谢:)
标签: mysql sql pandas dataframe