gpt4 book ai didi

Python Pandas to_sql 'append'

转载 作者:可可西里 更新时间:2023-11-01 08:05:43 27 4
gpt4 key购买 nike

我正在尝试使用 Python 的 pandas to_sql 命令将月度数据发送到 MySQL 数据库。我的程序一次运行一个月的数据,我想将新数据附加到现有数据库中。然而,Python 给我一个错误:

_mysql_exceptions.OperationalError: (1050, "Table 'cps_basic_tabulation' already exists")

这是我的连接和导出代码:

conn = MySQLdb.connect(host     = config.get('db', 'host'),
user = config.get('db', 'user'),
passwd = config.get('db', 'password'),
db = 'cps_raw')

combined.to_sql(name = "cps_raw.cps_basic_tabulation",
con = conn,
flavor = 'mysql',
if_exists = 'append')

我也尝试过使用:

from sqlalchemy import create_engine

将 conn = MySQLdb.connect... 替换为:

engine = mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname>

conn = engine.connect().connection

关于为什么我不能附加到数据库有什么想法吗?

谢谢!

最佳答案

从 pandas 0.14 开始,您必须直接提供 sqlalchemy engine,而不是连接对象:

engine = create_engine("mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname>")
combined.to_sql("cps_raw.cps_basic_tabulation", engine, if_exists='append')

关于Python Pandas to_sql 'append',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26765863/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com