【发布时间】:2021-12-25 09:05:32
【问题描述】:
我看到很多这个问题是关于 sqlite 的,但我的问题是关于 MySQL 的。
我的整个脚本是这样的:
df = pd.read_csv("df.csv")
engine = sqlalchemy.create_engine('mysql+mysqlconnector://{0}:{1}@{2}/{3}'.
format(config.user, config.passwd,
config.host, config.db))
df.to_sql('SQL_table', con=engine, if_exists='append', index=False)
然后它返回错误:
'Engine' object has no attribute 'cursor'
我用谷歌搜索,并遵循了一些解决方案,其中之一是:
df = pd.read_csv("df.csv")
engine = sqlalchemy.create_engine('mysql+mysqlconnector://{0}:{1}@{2}/{3}'.
format(config.user, config.passwd,
config.host, config.db))
connection = engine.raw_connection()
df.to_sql('SQL_table', con=connection, if_exists='append', index=False)
然后错误变为:
DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': Not all parameters were used in the SQL statement
我使用的是 MySQL,而不是 sqlite,我不明白为什么它会返回此错误。
所以基本上,我认为解决方案不起作用,谁能告诉我如何解决这个问题,我的 SQLalchemy 是 1.4.27
【问题讨论】:
标签: mysql pandas dataframe sqlalchemy pandas-to-sql