ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Python进阶教程:自动化办公实战

2026/8/24 15:17:10 拓冰建站 浏览量
Python进阶教程:自动化办公实战 目录Python进阶教程自动化办公实战一、办公自动化常用库二、Excel 处理openpyxl2.1 读取 Excel2.2 写入 Excel三、批量处理合并多个 Excel四、Word 文档处理五、PDF 文本提取六、批量文件处理七、实战自动生成成绩单报告总结Python进阶教程自动化办公实战本文是Python 入门教程系列的第 16 篇扩展篇。Python 最接地气的应用场景之一就是自动化办公本篇用实战演示如何用 Python 处理 Excel、Word、PDF 和批量文件。一、办公自动化常用库库用途openpyxl读写 Excel.xlsxpandas数据分析 Excel 处理python-docx操作 Word 文档PyPDF2 / pdfplumber处理 PDFPillow图像处理pathlib / shutil文件与目录操作安装pip install openpyxl python-docx pdfplumber pillow二、Excel 处理openpyxl2.1 读取 Excelimportopenpyxl# 打开工作簿wbopenpyxl.load_workbook(sales.xlsx)wswb.active# 读取单元格print(ws[A1].value)print(ws.cell(row2,column1).value)# 遍历所有行forrowinws.iter_rows(min_row1,values_onlyTrue):print(row)# 获取行列数print(ws.max_row,ws.max_column)2.2 写入 Excelimportopenpyxl wbopenpyxl.Workbook()wswb.active ws.title成绩表# 写入表头headers[姓名,语文,数学,英语]ws.append(headers)# 写入数据students[(张三,90,85,92),(李四,78,95,88),(王五,85,90,86),]forstuinstudents:ws.append(stu)fromopenpyxl.stylesimportFont ws[A1].fontFont(boldTrue)ws.column_dimensions[A].width12wb.save(output.xlsx)print(保存成功)三、批量处理合并多个 Excelimportopenpyxlimportglobdefmerge_excels(pattern,output):合并多个 Excel 文件wb_outopenpyxl.Workbook()ws_outwb_out.activeforfileinglob.glob(pattern):wbopenpyxl.load_workbook(file)wswb.activeprint(f处理{file})forrowinws.iter_rows(values_onlyTrue):ws_out.append(row)wb_out.save(output)print(f已合并到{output})# merge_excels(data/*.xlsx, merged.xlsx)四、Word 文档处理fromdocximportDocument# 创建文档docDocument()doc.add_heading(工作报告,level1)doc.add_paragraph(这是第一段内容。)doc.add_paragraph(这是第二段内容。)# 添加表格tabledoc.add_table(rows3,cols2)table.cell(0,0).text项目table.cell(0,1).text进度table.cell(1,0).text开发table.cell(1,1).text80%doc.save(report.docx)# 读取文档doc2Document(report.docx)forparaindoc2.paragraphs:print(para.text)五、PDF 文本提取importpdfplumberwithpdfplumber.open(document.pdf)aspdf:print(f共{len(pdf.pages)}页)textpdf.pages[0].extract_text()print(text[:200])tablepdf.pages[0].extract_table()iftable:forrowintable:print(row)六、批量文件处理frompathlibimportPathimportshutil srcPath(downloads)dstPath(organized)forfileinsrc.iterdir():iffile.is_file():extfile.suffix.lstrip(.)orothertarget_dirdst/ext target_dir.mkdir(parentsTrue,exist_okTrue)shutil.move(str(file),str(target_dir/file.name))print(f移动{file.name}-{ext}/)七、实战自动生成成绩单报告importopenpyxlfromdocximportDocumentdefgenerate_report(excel_file,output_docx):从 Excel 读取成绩生成 Word 报告wbopenpyxl.load_workbook(excel_file)wswb.active docDocument()doc.add_heading(学生成绩报告,level1)total0count0forrowinws.iter_rows(min_row2,values_onlyTrue):name,chinese,math,englishrow avg(chinesemathenglish)/3totalavg count1doc.add_paragraph(f{name}平均分{avg:.1f})ifcount:doc.add_paragraph(f全班平均分{total/count:.1f})doc.save(output_docx)print(f报告已生成{output_docx})# generate_report(scores.xlsx, report.docx)总结本篇演示了用 openpyxl 处理 Excel、python-docx 处理 Word、pdfplumber 提取 PDF、以及批量文件整理并实现了一个 Excel 到 Word 的自动化报告生成器。办公自动化的核心是用代码替代重复劳动建议从自己日常最繁琐的任务开始实践。