通过 MySQLdb 将 Pandas Dataframe 插入数据库
使用 Python 连接到 MySQL 非常简单,并且很好地支持行插入等操作。然而,当将整个 Pandas 数据帧插入到现有表中时,出现了问题:是否可以直接插入,或者是否需要迭代行?
使用 to_sql 直接插入
将数据帧插入 MySQL 的首选方法是使用 to_sql方法:
df.to_sql(con=con, name='table_name_for_df', if_exists='replace', flavor='mysql')
与 MySQLdb 的连接设置
要使用 MySQLdb 建立与 MySQL 的连接,请执行以下命令:
from pandas.io import sql import MySQLdb con = MySQLdb.connect() # may need additional connection parameters
风味和 if_exists
设置风味将 write_frame 设置为 'mysql' 可以写入 MySQL。 if_exists 参数控制表已存在时的行为,选项有“fail”、“replace”和“append”。
示例
考虑一个简单的包含 ID、data1 和 data2 列以及匹配的 Pandas 的表dataframe:
df = pd.DataFrame({'ID': [1, 2, 3], 'data1': ['a', 'b', 'c'], 'data2': [10, 20, 30]})
使用 to_sql 方法将此 dataframe 插入数据库将如下所示:
sql.write_frame(df, con=con, name='example_table', if_exists='replace', flavor='mysql')
在此示例中,“example_table”是数据库中的表名称, 'replace' 表示现有表将替换为数据框中的数据。
以上是如何高效地将 Pandas DataFrame 插入 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!