gpt4 book ai didi

python - 如何通过mysqldb将 Pandas 数据框插入数据库?

转载 作者:IT老高 更新时间:2023-10-28 12:59:48 26 4
gpt4 key购买 nike

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

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

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

最佳答案

更新:

现在有一个 to_sql方法,这是执行此操作的首选方法,而不是 write_frame:

df.to_sql(con=con, name='table_name_for_df', if_exists='replace', flavor='mysql')

另请注意:pandas 0.14 中的语法可能会发生变化...

您可以通过 MySQLdb 建立连接:

from pandas.io import sql
import MySQLdb

con = MySQLdb.connect() # may need to add some other options to connect

设置write_frameflavor'mysql'表示可以写入mysql:

sql.write_frame(df, con=con, name='table_name_for_df', 
if_exists='replace', flavor='mysql')

参数if_exists告诉pandas如果表已经存在如何处理:

if_exists: {'fail', 'replace', 'append'}, default 'fail'
     fail: If table exists, do nothing.
     replace: If table exists, drop it, recreate it, and insert data.
     append: If table exists, insert data. Create if does not exist.

虽然 write_frame docs目前建议它只适用于sqlite,似乎支持mysql,实际上有相当多的mysql testing in the codebase .

关于python - 如何通过mysqldb将 Pandas 数据框插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16476413/

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