今天有位小伙伴问能否用 Python 批量读取、批量写入、批量修改 Excel这对于某些经常进行数据操作的小伙伴是非常实用的。当然是可以的否则每天都在重复打开 Excel→复制数据→粘贴数据→修改单元格→保存→关闭几百个表格挨个操作眼睛看花、手点酸还容易出错。今天就用 Python 带你们彻底解放双手批量读取、批量写入、批量修改 Excel代码直接复制就能用零基础也能学会。一、前期准备装个工具就能开干首先咱们得给 Python 装两个处理 Excel 的神器openpyxl专门处理.xlsx格式2007 版之后的 Excel现在基本都用这个pandas批量处理数据的王者简单粗暴效率拉满打开电脑的命令提示符CMD直接复制这行代码运行一键安装bash运行pip install openpyxl pandas安装完没报错就说明准备就绪啦二、第一步批量读取 Excel 表格数据场景文件夹里有 100 个销售表我想一次性把所有数据读出来汇总分析。完整可运行代码python运行# 导入需要的库 import os import pandas as pd # 1. 设置Excel文件所在的文件夹改成你自己的文件夹路径 excel_folder rC:\Users\XXX\Desktop\Excel文件夹 # 2. 遍历文件夹找到所有xlsx文件 excel_files [f for f in os.listdir(excel_folder) if f.endswith(.xlsx)] # 3. 批量读取所有表格 all_data [] # 用来存放所有数据 for file in excel_files: # 拼接完整文件路径 file_path os.path.join(excel_folder, file) print(f正在读取{file}) # 读取Excelsheet_name0表示读第一个工作表 df pd.read_excel(file_path, sheet_name0, engineopenpyxl) # 把当前表格数据加进去 all_data.append(df) # 4. 合并所有数据 final_data pd.concat(all_data, ignore_indexTrue) # 5. 查看结果前5行 print(*50) print(读取完成数据预览) print(final_data.head())操作步骤 截图说明新建一个文件夹把所有要处理的.xlsx文件放进去复制代码把excel_folder后面的路径改成你自己的文件夹路径运行代码控制台会打印每个读取的文件名最后输出数据预览截图参考文件夹结构全是待读取的 Excel 文件运行效果控制台依次显示「正在读取xxx.xlsx」最后展示表格前 5 行数据三、第二步批量写入数据到 Excel场景我有一堆数据要自动生成 Excel 表格或者把数据批量写入新表格。完整可运行代码python运行import pandas as pd # 1. 准备要写入的数据模拟数据你可以换成自己的 data { 姓名: [张三, 李四, 王五, 赵六], 年龄: [23, 25, 27, 22], 部门: [技术部, 运营部, 市场部, 人事部], 薪资: [8000, 7500, 9000, 6500] } # 转成DataFrame格式pandas标准数据格式 df pd.DataFrame(data) # 2. 批量写入单个Excel最简单 df.to_excel( rC:\Users\XXX\Desktop\员工信息表.xlsx, # 保存路径 sheet_name员工数据, # 工作表名称 indexFalse, # 不写入行号关键不然会多一列无用数字 engineopenpyxl ) print(单个表格写入完成) # 3. 进阶批量生成多个Excel文件 names [技术部, 运营部, 市场部] for name in names: # 筛选对应部门数据 dept_data df[df[部门] name] # 生成文件名 save_path frC:\Users\XXX\Desktop\{name}报表.xlsx # 写入 dept_data.to_excel(save_path, indexFalse, engineopenpyxl) print(f已生成{name}报表.xlsx)操作步骤 截图说明数据可以是列表、数据库查询结果、接口返回值修改保存路径为你自己的桌面 / 文件夹运行后桌面会直接生成对应的 Excel 文件进阶代码会自动生成 3 个部门的独立报表截图参考运行后桌面直接出现新的 Excel 文件打开文件数据完整无格式错误四、第三步批量修改 Excel 表格数据场景批量修改单元格内容、更新价格、修正姓名、批量加备注 —— 这是最常用的功能完整可运行代码python运行from openpyxl import load_workbook # 1. 打开要修改的Excel文件 wb load_workbook(rC:\Users\XXX\Desktop\员工信息表.xlsx) ws wb.active # 选中当前活动工作表 # 2. 查看表格最大行、最大列方便批量操作 print(f表格总行数{ws.max_row}) print(f表格总列数{ws.max_column}) # 3. 批量修改数据示例给所有人薪资涨1000年龄1 for row in range(2, ws.max_row 1): # 第1行是表头从第2行开始 # 修改年龄第2列 ws.cell(rowrow, column2).value 1 # 修改薪资第4列 ws.cell(rowrow, column4).value 1000 # 批量添加备注第5列 ws.cell(rowrow, column5).value 2026年度调整 # 4. 批量替换文字示例把技术部改成研发中心 for row in range(1, ws.max_row 1): cell_value ws.cell(rowrow, column3).value if cell_value 技术部: ws.cell(rowrow, column3).value 研发中心 # 5. 保存修改必须写不然白改了 wb.save(rC:\Users\XXX\Desktop\员工信息表_已修改.xlsx) print(批量修改完成文件已保存)操作步骤 截图说明把文件路径改成你要修改的 Excel代码支持批量修改数值、批量替换文字、批量新增列内容一定要写wb.save()否则修改不会生效运行后打开新生成的文件所有数据自动修改完成截图参考原表格薪资 8000、年龄 23修改后表格年龄 24、薪资 9000、部门改名、新增备注列五、进阶小技巧批量处理多个 Excel 文件最后给你们一个王炸代码一次性修改文件夹里所有 Excel 文件python运行import os from openpyxl import load_workbook # 文件夹路径 folder_path rC:\Users\XXX\Desktop\所有Excel # 遍历所有文件 for file_name in os.listdir(folder_path): if file_name.endswith(.xlsx): file_path os.path.join(folder_path, file_name) wb load_workbook(file_path) ws wb.active # 批量修改所有表格的A2单元格填入自动处理 ws[A2].value 自动处理 # 保存 wb.save(file_path) print(f已处理{file_name})运行一次整个文件夹的表格全部自动修改爽到飞起六、总结今天咱们把 Excel 自动化的三大核心操作全搞定了批量读取一键读取文件夹所有 Excel合并数据批量写入自动生成表格、分部门生成报表批量修改改数值、换文字、加备注、批量处理百份表格Python openpyxl pandas 就是处理 Excel 的黄金组合比手动快 100 倍零出错。不管是学生做毕设、职场人做报表、程序员做数据处理这套代码都能直接用。七、注意事项必看避坑专用文件格式必须是 .xlsx.xls是旧版 Excelopenpyxl 不支持要另装库尽量用新版格式。运行前一定要关闭 Excel 文件文件被打开时会被系统占用代码会报错关闭再运行路径前面加 r比如rC:\桌面\文件.xlsx防止路径转义出错。写入数据时加 indexFalse不加会多一列行号表格很难看一定要带上。重要文件先备份批量修改前复制一份原文件避免改错无法恢复。大文件用 pandas超过 1 万行的数据用 pandas 比直接操作单元格快 10 倍以上。今天的内容就到这里啦以后再也不用熬夜手动撸 Excel 了把重复工作交给代码不香吗
Excel 自动化:批量读取 / 写入 / 修改表格数据
今天有位小伙伴问能否用 Python 批量读取、批量写入、批量修改 Excel这对于某些经常进行数据操作的小伙伴是非常实用的。当然是可以的否则每天都在重复打开 Excel→复制数据→粘贴数据→修改单元格→保存→关闭几百个表格挨个操作眼睛看花、手点酸还容易出错。今天就用 Python 带你们彻底解放双手批量读取、批量写入、批量修改 Excel代码直接复制就能用零基础也能学会。一、前期准备装个工具就能开干首先咱们得给 Python 装两个处理 Excel 的神器openpyxl专门处理.xlsx格式2007 版之后的 Excel现在基本都用这个pandas批量处理数据的王者简单粗暴效率拉满打开电脑的命令提示符CMD直接复制这行代码运行一键安装bash运行pip install openpyxl pandas安装完没报错就说明准备就绪啦二、第一步批量读取 Excel 表格数据场景文件夹里有 100 个销售表我想一次性把所有数据读出来汇总分析。完整可运行代码python运行# 导入需要的库 import os import pandas as pd # 1. 设置Excel文件所在的文件夹改成你自己的文件夹路径 excel_folder rC:\Users\XXX\Desktop\Excel文件夹 # 2. 遍历文件夹找到所有xlsx文件 excel_files [f for f in os.listdir(excel_folder) if f.endswith(.xlsx)] # 3. 批量读取所有表格 all_data [] # 用来存放所有数据 for file in excel_files: # 拼接完整文件路径 file_path os.path.join(excel_folder, file) print(f正在读取{file}) # 读取Excelsheet_name0表示读第一个工作表 df pd.read_excel(file_path, sheet_name0, engineopenpyxl) # 把当前表格数据加进去 all_data.append(df) # 4. 合并所有数据 final_data pd.concat(all_data, ignore_indexTrue) # 5. 查看结果前5行 print(*50) print(读取完成数据预览) print(final_data.head())操作步骤 截图说明新建一个文件夹把所有要处理的.xlsx文件放进去复制代码把excel_folder后面的路径改成你自己的文件夹路径运行代码控制台会打印每个读取的文件名最后输出数据预览截图参考文件夹结构全是待读取的 Excel 文件运行效果控制台依次显示「正在读取xxx.xlsx」最后展示表格前 5 行数据三、第二步批量写入数据到 Excel场景我有一堆数据要自动生成 Excel 表格或者把数据批量写入新表格。完整可运行代码python运行import pandas as pd # 1. 准备要写入的数据模拟数据你可以换成自己的 data { 姓名: [张三, 李四, 王五, 赵六], 年龄: [23, 25, 27, 22], 部门: [技术部, 运营部, 市场部, 人事部], 薪资: [8000, 7500, 9000, 6500] } # 转成DataFrame格式pandas标准数据格式 df pd.DataFrame(data) # 2. 批量写入单个Excel最简单 df.to_excel( rC:\Users\XXX\Desktop\员工信息表.xlsx, # 保存路径 sheet_name员工数据, # 工作表名称 indexFalse, # 不写入行号关键不然会多一列无用数字 engineopenpyxl ) print(单个表格写入完成) # 3. 进阶批量生成多个Excel文件 names [技术部, 运营部, 市场部] for name in names: # 筛选对应部门数据 dept_data df[df[部门] name] # 生成文件名 save_path frC:\Users\XXX\Desktop\{name}报表.xlsx # 写入 dept_data.to_excel(save_path, indexFalse, engineopenpyxl) print(f已生成{name}报表.xlsx)操作步骤 截图说明数据可以是列表、数据库查询结果、接口返回值修改保存路径为你自己的桌面 / 文件夹运行后桌面会直接生成对应的 Excel 文件进阶代码会自动生成 3 个部门的独立报表截图参考运行后桌面直接出现新的 Excel 文件打开文件数据完整无格式错误四、第三步批量修改 Excel 表格数据场景批量修改单元格内容、更新价格、修正姓名、批量加备注 —— 这是最常用的功能完整可运行代码python运行from openpyxl import load_workbook # 1. 打开要修改的Excel文件 wb load_workbook(rC:\Users\XXX\Desktop\员工信息表.xlsx) ws wb.active # 选中当前活动工作表 # 2. 查看表格最大行、最大列方便批量操作 print(f表格总行数{ws.max_row}) print(f表格总列数{ws.max_column}) # 3. 批量修改数据示例给所有人薪资涨1000年龄1 for row in range(2, ws.max_row 1): # 第1行是表头从第2行开始 # 修改年龄第2列 ws.cell(rowrow, column2).value 1 # 修改薪资第4列 ws.cell(rowrow, column4).value 1000 # 批量添加备注第5列 ws.cell(rowrow, column5).value 2026年度调整 # 4. 批量替换文字示例把技术部改成研发中心 for row in range(1, ws.max_row 1): cell_value ws.cell(rowrow, column3).value if cell_value 技术部: ws.cell(rowrow, column3).value 研发中心 # 5. 保存修改必须写不然白改了 wb.save(rC:\Users\XXX\Desktop\员工信息表_已修改.xlsx) print(批量修改完成文件已保存)操作步骤 截图说明把文件路径改成你要修改的 Excel代码支持批量修改数值、批量替换文字、批量新增列内容一定要写wb.save()否则修改不会生效运行后打开新生成的文件所有数据自动修改完成截图参考原表格薪资 8000、年龄 23修改后表格年龄 24、薪资 9000、部门改名、新增备注列五、进阶小技巧批量处理多个 Excel 文件最后给你们一个王炸代码一次性修改文件夹里所有 Excel 文件python运行import os from openpyxl import load_workbook # 文件夹路径 folder_path rC:\Users\XXX\Desktop\所有Excel # 遍历所有文件 for file_name in os.listdir(folder_path): if file_name.endswith(.xlsx): file_path os.path.join(folder_path, file_name) wb load_workbook(file_path) ws wb.active # 批量修改所有表格的A2单元格填入自动处理 ws[A2].value 自动处理 # 保存 wb.save(file_path) print(f已处理{file_name})运行一次整个文件夹的表格全部自动修改爽到飞起六、总结今天咱们把 Excel 自动化的三大核心操作全搞定了批量读取一键读取文件夹所有 Excel合并数据批量写入自动生成表格、分部门生成报表批量修改改数值、换文字、加备注、批量处理百份表格Python openpyxl pandas 就是处理 Excel 的黄金组合比手动快 100 倍零出错。不管是学生做毕设、职场人做报表、程序员做数据处理这套代码都能直接用。七、注意事项必看避坑专用文件格式必须是 .xlsx.xls是旧版 Excelopenpyxl 不支持要另装库尽量用新版格式。运行前一定要关闭 Excel 文件文件被打开时会被系统占用代码会报错关闭再运行路径前面加 r比如rC:\桌面\文件.xlsx防止路径转义出错。写入数据时加 indexFalse不加会多一列行号表格很难看一定要带上。重要文件先备份批量修改前复制一份原文件避免改错无法恢复。大文件用 pandas超过 1 万行的数据用 pandas 比直接操作单元格快 10 倍以上。今天的内容就到这里啦以后再也不用熬夜手动撸 Excel 了把重复工作交给代码不香吗