python df 插入数据到mysql executemany
可以使用executemany方法将DataFrame中的数据批量插入到MySQL数据库中。以下是一个示例代码:
import mysql.connector
from mysql.connector import Error
# 建立MySQL连接
try:
conn = mysql.connector.connect(host='localhost',
database='your_database',
user='your_username',
password='your_password')
if conn.is_connected():
cursor = conn.cursor()
# 创建表
create_table_query = '''CREATE TABLE IF NOT EXISTS your_table (
column1 VARCHAR(255),
column2 INT,
column3 FLOAT)'''
cursor.execute(create_table_query)
print("Table created successfully.")
# 插入数据
insert_query = '''INSERT INTO your_table (column1, column2, column3)
VALUES (%s, %s, %s)'''
records_to_insert = [(row['column1'], row['column2'], row['column3'])
for _, row in df.iterrows()]
cursor.executemany(insert_query, records_to_insert)
conn.commit()
print("Records inserted successfully.")
except Error as e:
print("Error while connecting to MySQL", e)
finally:
if conn.is_connected():
cursor.close()
conn.close()
print("MySQL connection is closed.")
在上面的代码中,首先建立了与MySQL数据库的连接。然后,使用cursor.execute方法创建了一个表(如果表不存在)。接下来,使用iterrows方法遍历DataFrame中的每一行,并将每一行的数据存储在一个列表中。最后,使用cursor.executemany方法批量执行插入操作,并使用conn.commit方法提交更改。最后,关闭连接。
请确保将your_database、your_username、your_password、your_table替换为实际的数据库、用户名、密码和表名。此外,还需要根据实际情况调整表的结构和数据类型
原文地址: http://www.cveoy.top/t/topic/h05O 著作权归作者所有。请勿转载和采集!