Python办公自动化:效率飞跃,自动化批量汇总Excel到Word
原创 丹心向阳 数海丹心 2024年06月23日 07:30 山东摘要: 每个月底,是许多数据分析师的梦魇,尤其是当他们需要从成百上千的Excel报表中汇总数据到Word时。本文将讲述小李如何使用Python自动化技术,几秒钟完成原本需要通宵达旦的工作报告汇总任务。
月底报告的挑战
小李是一家大型企业的数据分析师,每个月的最后几天,他总是忙于汇总各个部门的经营分析报告。由于公司规模庞大,涉及的部门众多,小李常常需要手动打开每个Excel文件,复制粘贴到Word中,这个过程不仅效率低下,而且容易出错。自动化的救赎
在一次偶然的机会中,小李了解到了Python自动化技术。他意识到,通过编写Python脚本,可以自动化地读取Excel文件,并将数据汇总到Word文档中。这不仅能够节省大量的时间,还能减少人为错误。Python自动化解决方案
小李开始尝试编写Python脚本,使用pandas
库来读取Excel文件,使用python-docx
库来操作Word文档。
实现步骤
- 安装必要的Python库:
pip install pandas python-docx
- 编写Python脚本,自动化读取Excel并写入Word:
from docx import Document
from docx.shared import Pt
from docx.enum.table import WD_TABLE_ALIGNMENT, WD_ROW_HEIGHT_RULE
import os
import pandas as pd
from docx import Document
from docx.oxml.ns import qn
from docx.shared import Pt
# ... 其他代码 ...
work_dir = 'path_to_your_excel_files'
excel_files = [f for f in os.listdir(
work_dir) if f.endswith(('.xlsx', '.xls'))]
# 创建一个新的Word文档
doc = Document()
# 遍历所有Excel文件
for excel_file in excel_files:
# ... 读取Excel文件并创建Word表格的代码 ...
excel_path = os.path.join(work_dir, excel_file)
# 读取Excel文件
df = pd.read_excel(excel_path)
# 将DataFrame转换为Word表格
for _, row in df.iterrows():
table = doc.add_table(rows=1, cols=len(row), style='Table Grid')
# 添加行并设置单元格数据
for i, value in enumerate(row):
cell = table.cell(0, i)
cell.text = str(value)
# cell.vertical_alignment = 'center' # 垂直居中对齐
# 设置表格样式
table.alignment = WD_TABLE_ALIGNMENT.CENTER
# 设置行高
for row in table.rows:
row.height_rule = WD_ROW_HEIGHT_RULE.EXACTLY
row.height = Pt(20)
# 保存Word文档
# ... 保存文档的代码 ...
output_path = os.path.join(work_dir, 'CombinedTables.docx')
doc.save(output_path)
print(f"Word文档已保存至:{output_path}")
核心优势
- 批量处理:一键处理所有Excel文件。
- 自动化汇总:自动将数据写入Word,无需手动复制粘贴。
- 时间效率:几秒钟完成原本需要数小时甚至通宵的工作。
结果展示
通过Python脚本,小李成功地将所有部门的经营分析报告汇总到了一个Word文档中,整个过程仅用了几秒钟。
自动化,让工作更简单
Python自动化技术不仅提升了小李的工作效率,也让他从繁琐的重复劳动中解放出来,有更多的时间专注于数据分析和决策支持。
标签:docx,Word,Python,excel,Excel,path From: https://www.cnblogs.com/1308test/p/18306508