Python将Excel表中数据插入MySQL(附代码总结,可直接抄作业)
import pymysql
import pandas as pd
# 连接MySQL数据库
def connect_db():
connection = pymysql.connect(host='localhost',
user='your_username',
password='your_password',
database='your_database',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
return connection
# 将Excel数据插入MySQL表
def insert_data_from_excel_to_mysql(excel_path, table_name):
# 读取Excel数据
df = pd.read_excel(excel_path)
# 连接MySQL
connection = connect_db()
try:
with connection.cursor() as cursor:
# 循环插入数据
for row in df.itertuples():
# 这里假设Excel的第一行是表头,并且对应MySQL表的列名
columns = row._fields
# 构造SQL语句
sql = "INSERT INTO " + table_name + " (" + ', '.join(columns) + ") VALUES (" + ', '.join(['%s'] * len(columns)) + ")"
# 执行SQL语句
cursor.execute(sql, list(row))
# 提交事务
connection.commit()
finally:
connection.close()
# 调用函数,将Excel文件中的数据插入到指定的MySQL表中
insert_data_from_excel_to_mysql('path_to_your_excel_file.xlsx', 'your_mysql_table_name')
这段代码首先定义了连接MySQL数据库的函数connect_db
,然后定义了将Excel数据插入MySQL的insert_data_from_excel_to_mysql
函数。在该函数中,使用pandas读取Excel文件,然后通过MySQL的连接和游标对象来执行插入数据的操作。这里假设Excel的第一行是列名,并且与MySQL表中的列对应。最后,调用insert_data_from_excel_to_mysql
函数,并传入Excel文件路径和目标MySQL表名。
评论已关闭