摘要:职场办公中,大量Excel表格处理(如数据批量汇总、格式批量修改、内容批量导出)依赖人工操作,不仅耗时费力,且易出现操作失误。本文将指导读者通过Python实现Excel自动化处理,可一键完成100个Excel表格的批量操作,配套完整可运行源码,初学者可快速上手,有效提升办公效率,降低操作失误率。

一、环境准备

1. 基础环境:Python 3.8及以上版本(推荐Python 3.10);

2. 核心依赖:openpyxl库(用于Excel文件操作),安装命令如下:


pip install openpyxl

3. 前置准备:将100个Excel表格放置于同一文件夹(如D:\Excel文件),确保表格格式统一(均为.xlsx格式,表头一致)。

二、实战目标

实现以下3个核心功能(可根据实际需求灵活调整):

1. 批量读取100个Excel表格内容,汇总至一个新的Excel文件;

2. 批量修改所有Excel表格的表头格式(设置为加粗、居中样式);

3. 批量导出每个Excel表格的指定列(如“姓名”“金额”列)至新文件。

三、完整源码(可直接复制运行)


import os from openpyxl import load_workbook, Workbook from openpyxl.styles import Font, Alignment # 1. 定义相关路径(替换为实际文件路径) excel_folder = "D:\\Excel文件" # 存放100个Excel表格的文件夹 output_file = "D:\\汇总表格.xlsx" # 数据汇总后的文件路径 # 2. 创建数据汇总表格 wb_summary = Workbook() ws_summary = wb_summary.active ws_summary.title = "汇总数据" # 3. 批量读取Excel表格并完成数据汇总(核心代码) def batch_process_excel(): # 遍历文件夹中的所有Excel文件 for file_name in os.listdir(excel_folder): if file_name.endswith(".xlsx"): file_path = os.path.join(excel_folder, file_name) # 加载当前Excel文件 wb = load_workbook(file_path) ws = wb.active # 批量修改表头格式(加粗、居中) for cell in ws[1]: cell.font = Font(bold=True) cell.alignment = Alignment(horizontal="center") # 保存修改后的Excel文件 wb.save(file_path) # 读取当前Excel表格内容,写入汇总表格 for row in ws.iter_rows(values_only=True): if ws_summary.max_row == 1: # 表头仅写入一次 ws_summary.append(row) else: if row[0] is not None: # 跳过空行 ws_summary.append(row) # 保存数据汇总表格 wb_summary.save(output_file) print("批量处理完成!汇总表格已保存至:", output_file) # 4. 批量导出指定列数据 def export_specified_columns(): specified_columns = [0, 2] # 需导出的列索引(0代表第一列,2代表第三列) wb_export = Workbook() ws_export = wb_export.active ws_export.title = "指定列导出" # 写入表头信息 wb_sample = load_workbook(os.path.join(excel_folder, os.listdir(excel_folder)[0])) ws_sample = wb_sample.active header = [ws_sample.cell(row=1, column=col+1).value for col in specified_columns] ws_export.append(header) # 批量读取并导出指定列数据 for file_name in os.listdir(excel_folder): if file_name.endswith(".xlsx"): file_path = os.path.join(excel_folder, file_name) wb = load_workbook(file_path) ws = wb.active for row in ws.iter_rows(values_only=True): if row[0] is not None and ws_export.max_row > 1: # 跳过空行和表头 export_row = [row[col] for col in specified_columns] ws_export.append(export_row) wb_export.save("D:\\指定列导出.xlsx") print("指定列导出完成!") # 执行批量处理流程 if __name__ == "__main__": batch_process_excel() export_specified_columns()

四、使用说明(初学者必看)

1. 替换代码中的“excel_folder”和“output_file”路径,改为实际文件路径(注意路径中需使用双反斜杠\\);

2. 若仅需实现单一功能(如仅完成数据汇总,无需导出指定列),可删除对应函数调用;

3. 运行代码后,系统将自动完成所有Excel表格的批量处理,生成数据汇总表格及指定列导出文件,无需人工干预。

五、常见问题及解决方案

1. 报错“找不到文件”:检查文件路径配置是否正确,确保目标文件夹中仅包含.xlsx格式的Excel文件,无其他无关文件;

2. 汇总表格出现空行:代码中已添加空行判断逻辑,若仍存在空行,需检查原始Excel表格是否包含空行,删除后重新运行即可;

3. 表头格式修改失败:确认原始Excel表格为.xlsx格式,.xls格式不支持openpyxl库,需先将其转换为.xlsx格式。

六、总结与资源获取

本文实现了Python自动化处理100个Excel表格的核心功能,可根据实际办公需求修改代码,适配不同应用场景。本文配套完整源码、Excel测试文件及常见问题排查手册,关注后私信【Excel自动化】即可领取。平台将每日更新Python实战干货,持续分享技术变现思路,欢迎相关从业者交流学习。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐