首页 >数据库 >mysql教程 >如何使用 SQLAlchemy 的 `to_sql` 方法将 Pandas DataFrame 写入 MySQL?

如何使用 SQLAlchemy 的 `to_sql` 方法将 Pandas DataFrame 写入 MySQL?

Barbara Streisand
Barbara Streisand原创
2024-11-30 13:26:10909浏览

How to Write Pandas DataFrames to MySQL using SQLAlchemy's `to_sql` Method?

使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn