Flask几行代码即可搭建可调用API,支持Excel/Word/PDF处理、定时任务与基础安全防护,实现轻量级自动化办公。

用Flask快速搭建一个可调用的API接口
不需要复杂框架,Flask几行代码就能跑起一个HTTP接口。先安装: pip install flask。新建 app.py,写入以下内容:
- 导入 Flask 和 request:from flask import Flask, request, jsonify
- 初始化应用:app = Flask(__name__)
- 定义一个 POST 接口,比如接收 Excel 文件路径并返回表头:@app.route('/get_headers', methods=['POST'])
- 在函数里用 request.json.get('file_path') 获取参数,用 pandas 读取 Excel,再用 .columns.tolist() 提取列名
- 最后 return jsonify({'headers': headers}) 返回 JSON 响应
运行 python app.py,默认监听 http://127.0.0.1:5000,用 Postman 或 requests 调用即可。
对接Excel/Word/PDF实现自动化文档处理
办公场景中,大量重复性文档操作(如批量改标题、提取合同关键字段、生成日报)都能通过 API 封装。关键不是“全自动化”,而是把稳定步骤变成可调用服务。
- 读 Excel:用 pandas.read_excel() 或 openpyxl(适合改样式);注意指定 engine='openpyxl' 才能写入 .xlsx
- 处理 Word:用 python-docx,打开文档后遍历 doc.paragraphs 或 doc.tables,替换占位符如 paragraph.text.replace('{name}', '张三')
- 解析 PDF:简单文本用 PyPDF2,含表格或复杂版式推荐 pdfplumber,它能精准定位坐标和表格结构
- 把这些逻辑封装进 API 路由,传参用 JSON(如 { "input_file": "a.pdf", "target_text": "甲方:" }),返回结构化结果
用requests调用API完成日常办公流
前端不用写,Python脚本自己调自己,就是最轻量的自动化工作流。比如每天上午9点自动拉取销售数据、生成汇总表、邮件发给主管。
立即学习“Python免费学习笔记(深入)”;
- 调用本地API:requests.post('http://127.0.0.1:5000/export_summary', json={'date': '2024-06-15'})
- 检查响应:if res.status_code == 200: data = res.json(),再用 openpyxl 写入结果到新 Excel
- 发邮件:用 smtplib + email.mime 构造带附件的邮件,公司内网通常配 SMTP 服务器地址和账号即可
- 定时执行:Windows 用任务计划程序,macOS/Linux 用 crontab -e 添加 0 9 * * * python /path/to/daily_report.py
加一层简单认证和错误处理更靠谱
内部工具不等于没风险。几个低成本但有效的防护动作:
- 加基础校验:每个接口开头检查 if not request.json or 'token' not in request.json,比对预设密钥(如 request.json['token'] == 'abc123')
- 统一异常捕获:用 @app.errorhandler(Exception) 返回带错误码的 JSON,避免暴露 traceback
- 文件操作加 try/except:特别是读写 Excel 时,可能因文件被打开、路径不存在、编码错误崩溃,捕获后返回明确提示如 {"error": "文件不存在或被占用"}
- 日志记录关键动作:用 app.logger.info(f"生成日报:{filename}"),日志文件用 RotatingFileHandler 防止无限增长
基本上就这些。不复杂但容易忽略——重点是把“人点一下”的动作,变成“脚本调一次”的接口,再串起来,自动化办公就落地了。
以上就是Python实现API接口开发中自动化办公的详细教程【教程】的详细内容,更多请关注php中文网其它相关文章!