使用 SQLAlchemy 的 to_sql 方法将 Pandas 数据帧写入 MySQL
这个问题解决了使用 SQLAlchemy 的 to_sql 将 Pandas 数据帧写入 MySQL 表的挑战方法。用户在尝试使用过时的 'flavor='mysql'' 语法时遇到错误,并希望转换为使用 SQLAlchemy 引擎。
正确的方法是使用 SQLAlchemy 中的 create_engine 函数建立到使用 mysql mysqlconnector 方言的 MySQL 数据库。然后应将此连接作为 con 参数传递给 to_sql 方法。
import pandas as pd from sqlalchemy import create_engine engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', echo=False) data.to_sql(name='sample_table2', con=engine, if_exists='append', index=False)
最初,用户尝试使用 raw_connection() 方法来获取连接,但导致出现错误,指示尝试使用 SQLite 而不是 MySQL。通过直接指定引擎对象作为 con 参数,问题得到了解决。
import pandas as pd from sqlalchemy import create_engine data.to_sql(name='sample_table2', con=engine, if_exists='append', index=False)
用户在尝试将引擎作为 con 参数传递时也遇到了 AttributeError,因为引擎对象缺少光标属性。通过create_engine函数建立MySQL连接,提供了合适的连接对象,使得to_sql方法能够成功执行。
以上是如何使用 SQLAlchemy 的 `to_sql` 方法将 Pandas DataFrame 写入 MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!