Excel导入到MySQL是将Excel文件中的数据转换并存储到MySQL数据库中的过程。Excel文件通常以.xlsx或.xls格式存储,而MySQL是一种关系型数据库管理系统,用于存储和管理数据。
原因:Excel文件中的数据格式可能与MySQL表结构不兼容,例如日期格式、数据类型等。
解决方法:
import pandas as pd
import mysql.connector
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 连接MySQL数据库
conn = mysql.connector.connect(user='user', password='password', host='host', database='database')
cursor = conn.cursor()
# 插入数据到MySQL
for index, row in df.iterrows():
query = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)"
cursor.execute(query, (row['column1'], row['column2'], row['column3']))
# 提交事务并关闭连接
conn.commit()
cursor.close()
conn.close()
原因:Excel文件中的数据量过大,导致导入过程缓慢或失败。
解决方法:
# 批量插入数据
batch_size = 1000
for i in range(0, len(df), batch_size):
batch_df = df[i:i+batch_size]
query = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %2, %s)"
cursor.executemany(query, batch_df.values.tolist())
原因:Excel文件中的数据可能存在重复记录,导致导入MySQL时出现主键冲突。
解决方法:
ALTER TABLE table_name ADD UNIQUE INDEX idx_unique_column (column_name);
通过以上方法,可以有效地将Excel数据导入MySQL,并解决常见的导入问题。
领取专属 10元无门槛券
手把手带您无忧上云