相关疑难解决方法(0)

如何通过mysqldb将pandas数据帧插入数据库?

我可以从python连接到我的本地mysql数据库,我可以创建,选择和插入单个行.

我的问题是:我可以直接指示mysqldb获取整个数据帧并将其插入现有表中,还是我需要遍历行?

在任何一种情况下,对于一个包含ID和两个数据列以及匹配数据帧的非常简单的表,python脚本会是什么样子?

python mysql mysql-python pandas

41
推荐指数
3
解决办法
9万
查看次数

Python 熊猫 to_sql '追加'

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

_mysql_exceptions.OperationalError: (1050, "Table 'cps_basic_tabulation' already exists")
Run Code Online (Sandbox Code Playgroud)

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

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')
Run Code Online (Sandbox Code Playgroud)

我也试过使用:

from sqlalchemy import create_engine
Run Code Online (Sandbox Code Playgroud)

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

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

conn   = engine.connect().connection
Run Code Online (Sandbox Code Playgroud)

关于为什么我不能附加到数据库的任何想法?

谢谢!

python mysql pandas

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

mysql ×2

pandas ×2

python ×2

mysql-python ×1