如何将含20列8万行的Excel文件导入MySQL?求技术方案
8万行Excel数据导入MySQL的实用方案
方法1:MySQL Workbench可视化导入(适合作品集展示操作流程)
- 先根据Excel的20列结构,在MySQL里创建对应数据表(用
CREATE TABLE定义字段类型,确保和Excel列匹配) - 打开MySQL Workbench连接目标数据库,右键目标表,选择「Table Data Import Wizard」
- 选中Excel文件(建议先转成CSV格式,减少格式兼容问题)
- 匹配Excel列与数据库表字段,调整数据类型映射(比如日期、数值类型对应正确)
- 选择导入模式(新增/覆盖数据),执行导入,Workbench会显示进度和日志,适合在作品集里截图展示完整操作流程
方法2:LOAD DATA INFILE命令(高效批量导入)
- 先把Excel转成UTF-8编码的CSV文件(避免中文乱码)
- 执行以下SQL命令(替换路径、表名等参数):
LOAD DATA INFILE '/your/csv/file/path/data.csv' INTO TABLE target_table FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; -- 跳过CSV表头行
- 注意:确认MySQL的
secure_file_priv参数允许读取该路径,或把CSV放到MySQL指定导入目录;Windows系统路径用\\分隔
方法3:Python脚本自动化导入(适合作品集展示代码能力)
- 用
pandas+sqlalchemy实现分批次导入,避免内存溢出,代码示例:
import pandas as pd from sqlalchemy import create_engine # 读取Excel文件,指定sheet名称 df = pd.read_excel('your_excel_file.xlsx', sheet_name='Sheet1') # 建立MySQL连接(替换用户名、密码、数据库名) engine = create_engine('mysql+pymysql://root:your_password@localhost/your_db') # 分批次导入,chunksize控制单次导入行数 df.to_sql( name='target_table', con=engine, if_exists='append', # 新增数据,可选replace覆盖 index=False, chunksize=1000 )
- 提前安装依赖:
pip install pandas sqlalchemy pymysql openpyxl,这个方案适合在作品集里展示自动化处理逻辑
内容的提问来源于stack exchange,提问作者Vincenzo Nerone
相关产品推荐
相关产品推荐

