Back to skills
extension
Category: Data & AnalyticsNo API key required

数据处理

数据提取及整理技能。当用户需要从图片/扫描件(OCR)、PDF、Word、Excel/CSV、网页等来源提取文字与表格数据,并整理为规范的 Excel 表格或 Word 文档(如审计报告、问题清单、整改台账、取证表)时使用。适用于内部审计、文档数字化、台账建立与数据清洗等场景。

personAuthor: user_60000197hubcommunity

数据提取及整理 (Data Extraction & Organization)

Overview

本技能提供从多类来源(图片/扫描件、PDF、Word、Excel/CSV、网页)提取结构化数据,并规整为规范化 Excel 表格Word 文档 的完整工作流与可复用脚本。面向内部审计、文档数字化、台账/清单建立、数据清洗等需求,强调中文排版规范(金额大写、日期格式、表头统一、序号连续)。

何时使用

  • 用户要求从 图片、扫描件、PDF、Word、Excel、网页 中抽取文字或表格。
  • 用户要求「整理」「汇总」「清洗」「去重」「合并」「建立台账/清单」。
  • 用户要生成审计报告、问题清单、整改台账、取证表等规范化表格/文档。
  • 典型触发语:
    • 「把这张表录进 Excel」「从这 17 张图里提取内容」
    • 「把 PDF 里的表格整理出来」「清洗这份台账」
    • 「把网页上的数据抓下来做成表」

工作流(决策树)

  1. 明确来源与输出形态:先确认来源类型(图片/PDF/Word/Excel/网页)和期望输出(Excel / Word / 两者)。
  2. 选择提取通道
    • 图片 / 扫描件 → 优先用 Read 工具直接读取(多模态 OCR,对中文表格最准确、最省事);大批量或需脚本化时用 scripts/ocr_image.py
    • PDF → scripts/pdf_extract.py
    • Word → scripts/docx_extract.py
    • Excel / CSV → scripts/excel_clean.py(清洗 / 合并 / 去重 / 拆分)
    • 网页 → scripts/web_extract.py
  3. 按规范整理:严格遵循 references/formats.md(金额大写、日期 YYYY年MM月DD日、表头统一、序号连续、缺失值标注)。
  4. 生成落盘:输出为带样式的 Excel(openpyxl)或规范化 Word(python-docx),保存到用户指定目录(默认桌面 C:\Users\azrae\Desktop\),文件名带日期前缀便于归档。

环境准备

脚本依赖以下 Python 包,统一安装到受管 venv(避免污染用户环境):

# 若 venv 不存在先创建
C:\Users\azrae\.workbuddy\binaries\python\versions\3.13.12\python.exe -m venv C:\Users\azrae\.workbuddy\binaries\python\envs\default

PY=C:\Users\azrae\.workbuddy\binaries\python\envs\default/bin/python
$PY -m pip install pdfplumber pandas openpyxl python-docx beautifulsoup4 lxml requests easyocr

各脚本在缺少依赖时会打印清晰的安装提示,不会静默失败。OCR 脚本(easyocr)首次运行会下载中文识别模型(约百 MB),属正常行为;若环境不便下载,对图片优先使用 Read 工具抽取。

关键脚本

scripts/pdf_extract.py — PDF 文本与表格提取

$PY scripts/pdf_extract.py <input.pdf> [-o out.xlsx] [--json out.json] [--pages all|1-3]
  • 文本按行提取到「文本」页(含页码)。
  • 表格用 pdfplumber.extract_tables() 抽取,合并到「表格」页(含页码、表序号)。
  • 同时可输出 JSON 便于后续程序化处理。

scripts/docx_extract.py — Word 文档提取

$PY scripts/docx_extract.py <input.docx> [-o out.xlsx] [--json out.json]
  • 提取标题层级、段落(含样式)、以及全部表格。
  • 段落写入「段落」页,表格逐个写入「表格_N」页,结构写入 JSON。

scripts/excel_clean.py — Excel/CSV 清洗与整理

$PY scripts/excel_clean.py --mode clean  <in.xlsx> -o out.xlsx
$PY scripts/excel_clean.py --mode merge  <a.xlsx> <b.xlsx> -o out.xlsx
$PY scripts/excel_clean.py --mode dedupe <in.xlsx> -o out.xlsx [--key 列名]
$PY scripts/excel_clean.py --mode split  <in.xlsx> --by 列名 -o 输出目录
  • clean:去空格、统一表头、空值标注「—」、去除全空行、类型推断。
  • merge:纵向拼接多表(按表头对齐,缺失列补空)。
  • dedupe:按指定列或全行去重。
  • split:按某列取值拆分为多个文件(如按「被审计单位」拆台账)。

scripts/ocr_image.py — 图片/扫描件 OCR(批量)

$PY scripts/ocr_image.py <img1.webp> [img2.png ...] [-o out.xlsx] [--text out.txt]
  • 使用 easyocr 对中文图片做文字识别,整图文本写入 out.txt,逐图分行写入 Excel。
  • 仅做文本行抽取;若图片内含规整表格,建议直接用 Read 工具读取后由本技能结构化录入,准确率更高。

scripts/web_extract.py — 网页表格抓取

$PY scripts/web_extract.py <url> [-o out.xlsx] [--table 0]
  • pandas.read_html 解析页面所有 <table>,默认导出第 0 个;可指定序号。
  • 无表格时回退用 BeautifulSoup 抽取正文关键列表。

中文格式规范(要点,详见 references/formats.md

  • 金额:凡涉及金额,同时给出阿拉伯数字与中文大写(如 ¥1,234.56 人民币壹仟贰佰叁拾肆元伍角陆分)。
  • 日期:统一 YYYY年MM月DD日;区间用 YYYY年MM月DD日至YYYY年MM月DD日
  • 表头:首行为表头且加粗、居中、填充底色;序号列连续无跳号。
  • 缺失值:统一填「—」,不得留空。
  • 标题层级:文档标题二号加粗,一级标题三号,正文小四,行距 1.5。

输出落盘约定

  • 默认目录:C:\Users\azrae\Desktop\
  • 文件名格式:<日期>_<主题>_<形态>.xlsx|.docx(如 2026-07-06_食堂审计台账_Excel.xlsx)。
  • 完成后用 present_files 将成品交付用户预览。

Resources

  • scripts/:上述五个可复用 Python 脚本。
  • references/formats.md:内部审计文档中文排版与格式规范(金额大写、日期、表头、台账样式)。