# auto-office **Repository Path**: Chester_Xue/auto-office ## Basic Information - **Project Name**: auto-office - **Description**: Python 自动化办公工具集 —— 面向政府单位日常办公场景。Excel/Word/PDF/邮件/文件管理/数据处理/报表生成/网页采集八大模块,全部中文注释。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-23 - **Last Updated**: 2026-07-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 自动办公 > 面向政府单位日常办公场景的 Python 自动化工具集。 > > **适用人群**: 需要掌握 Python 办公自动化的初学者 ## 📋 功能概览 | 模块 | 文件 | 核心功能 | 高频场景 | |------|------|----------|----------| | 📊 **Excel** | `src/excel_ops.py` | 创建/读写/合并/格式化/筛选/统计 | 汇总报表、数据筛选、金额格式化 | | 📝 **Word** | `src/word_ops.py` | 模板填充/批量生成/表格/页边距 | 会议通知、公文模板、批量函件 | | 📄 **PDF** | `src/pdf_ops.py` | 合并/拆分/提取文本/加密 | 合并附件、提取政策文件文字 | | 📧 **邮件** | `src/email_ops.py` | 文本/HTML/附件/批量发送 | 群发通知、报送材料 | | 📁 **文件** | `src/file_ops.py` | 批量重命名/归档/备份/编码转换 | 整理资料、备份归档、GBK转UTF-8 | | 📊 **数据** | `src/data_ops.py` | 数据清洗/分组统计/关联/透视表 | 数据处理、报表统计 | | 📑 **报表** | `src/report_gen.py` | Excel统计表/Word报告/多源汇总 | 自动生成周报月报 | | 🌐 **采集** | `src/web_scraper.py` | 网页抓取/信息提取/文件下载 | 采集金融政策、公告信息 | ## ⚡ 快速开始 ### 1. 环境准备 ```bash # 确保 Python ≥ 3.8 python --version # 克隆本项目 git clone <你的仓库地址> cd auto-office # 安装依赖 pip install -r requirements.txt ``` ### 2. 运行方式 ```bash # 方式一:交互式菜单 python main.py # 方式二:直接查看模块帮助 python main.py excel python main.py word python main.py pdf # 方式三:运行综合演示(会生成示例文件) python examples/demo_all.py # 方式四:在 Python 代码中直接导入 from src.excel_ops import read_all, auto_format data = read_all("金融报表.xlsx") auto_format("金融报表.xlsx") ``` ### 3. 输出目录 演示文件默认输出到 `demo_output/` 目录,打开即可查看效果。 ## 📖 学习路径 建议按以下顺序阅读代码: 1. **先看演示** → 运行 `python examples/demo_all.py`,观察各模块能做什么 2. **再看 main.py** → 理解整个项目的模块结构 3. **逐模块学习** → 从 `excel_ops.py` 开始,这是日常办公最高频的场景 4. **动手修改** → 把其中的数据替换成你自己的 Excel 文件试试 每个函数的顶部都有 **参数说明**、**返回说明** 和 **使用示例**,可直接复制运行。 ## 🏗️ 项目结构 ``` auto-office/ ├── main.py # 交互式主菜单入口 ├── requirements.txt # 依赖清单 ├── README.md # 本文件 │ ├── src/ # 核心源码 │ ├── __init__.py # 包信息 │ ├── utils.py # 工具函数(日志、路径、日期) │ ├── excel_ops.py # Excel 自动化(8个功能) │ ├── word_ops.py # Word 文档自动化(7个功能) │ ├── pdf_ops.py # PDF 处理(6个功能) │ ├── email_ops.py # 邮件自动化(4个功能) │ ├── file_ops.py # 文件管理(6个功能) │ ├── data_ops.py # 数据处理(8个功能) │ ├── report_gen.py # 报表生成(3个功能) │ └── web_scraper.py # 网页采集(5个功能) │ ├── examples/ │ └── demo_all.py # 全模块综合演示 │ └── data/ # 数据文件目录(放你的 Excel/CSV) ``` ## 🔧 依赖库 ``` openpyxl → Excel .xlsx 文件读写(无需安装 MS Office) python-docx → Word .docx 文件读写 pandas → 数据处理与分析核心库 pypdf → PDF 合并/拆分/加密 requests → HTTP 请求(网页采集) beautifulsoup4 → HTML 解析(网页采集) lxml → HTML/XML 解析加速 reportlab → PDF 生成(封面、附件等) ``` ## 🚀 面试备考建议 针对面试中 Python 自动化办公环节,建议重点掌握: ### 必会场景(面试高频) | 场景 | 对应函数 | 面试官关注点 | |------|----------|-------------| | 读取 Excel 数据 | `read_all()` | 数据处理基础能力 | | 筛选特定条件行 | `filter_rows()` | 逻辑判断与数据过滤 | | 分组统计汇总 | `group_summary()` | 数据分析思维 | | 模板填充文档 | `fill_template()` | 批量办公自动化思维 | | 合并多个文档 | `merge_workbooks()` / `merge_pdfs()` | 文件整合能力 | | 批量重命名 | `batch_rename()` | 文件管理能力 | ### 亮点展示(加分项) - **说项目结构**:"我这个项目分了 8 个模块,涵盖了 Excel、Word、PDF、邮件、文件管理、数据处理、报表生成和网页采集" - **说代码规范**:"每个函数都有完整的中文注释,包括参数说明、返回值说明和使用示例" - **说实战能力**:"我把天津市金融办的日常金融报表处理场景都考虑进去了,比如金额格式化、分组统计、自动生成报告" - **演示运行**:现场 `python main.py` 启动交互式菜单,展示所有功能 ## 📝 注意事项 1. **Excel 操作**:本项目使用 `openpyxl` 引擎,无需安装 MS Office 2. **中文路径**:全部代码已处理中文字符编码问题 3. **邮件功能**:需要配置 SMTP 信息(邮箱授权码),测试时建议用 QQ邮箱 4. **网页采集**:仅用于采集**公开**信息,请遵守 robots.txt 和相关法规 5. **GBK 编码**:`convert_encoding()` 函数专门处理政府旧系统的 GBK 编码数据 ## 📄 许可证 本项目仅供学习交流使用。 --- **作者**: Chester_Xue **版本**: 1.0.0