4.2 KiB
4.2 KiB
通用图片表格识别处理程序说明
本目录是一套可复用的图片表格 OCR 处理脚手架。默认只提供通用字段和通用数据库结构;用于 UPP、PACS、HIS 或其他任务前,先复制并修改 01_任务配置.template.json。
文件顺序
01_任务配置.template.json:任务名、字段顺序、主唯一键、分类规则、OCR 参数、数据库表名。02_图片表格OCR归档.py:处理单个图片批次,输出结构化 JSON、CSV、复核报告和 OCR 缓存。03_人工复核修正.template.json:人工修正文件模板。正式修正时复制为03_人工复核修正.json,不要提交真实数据。04_合并批次结果.py:扫描数据处理结果区,合并所有*-列表归档结果。05_同步PostgreSQL单表.py:把合并结果同步到 PostgreSQL 通用 JSONB 单表。06_PostgreSQL建表结构.template.sql:通用表结构模板,正式任务可改成业务正式列。07_处理程序说明.md:当前说明。08_本地运行流程.template.sh:按顺序执行的本地命令模板。
首次使用
cp 数据处理工作区/01_任务配置.template.json 数据处理工作区/01_任务配置.json
cp 数据处理工作区/03_人工复核修正.template.json 数据处理工作区/03_人工复核修正.json
cp 数据处理工作区/06_PostgreSQL建表结构.template.sql 数据处理工作区/06_PostgreSQL建表结构.sql
然后人工修改:
project_name、record_name。unique_key。fields字段顺序、字段类型、必填规则、正则规则。classification.folder_rules。ocr.rows_per_image或ocr.row_height_px,如果要启用行数漏识别校验。postgres.table_name和 SQL 表名。
处理单个批次
export TENCENTCLOUD_SECRET_ID='填入腾讯云 SecretId'
export TENCENTCLOUD_SECRET_KEY='填入腾讯云 SecretKey'
python3 数据处理工作区/02_图片表格OCR归档.py \
--config 数据处理工作区/01_任务配置.json \
--input "待处理-[任务名]图片集群/[批次文件夹名]" \
--output "数据处理结果区/已处理-[任务名]图片集群/[批次文件夹名]-列表归档结果"
只用已有 OCR 缓存重建:
python3 数据处理工作区/02_图片表格OCR归档.py \
--config 数据处理工作区/01_任务配置.json \
--input "待处理-[任务名]图片集群/[批次文件夹名]" \
--output "数据处理结果区/已处理-[任务名]图片集群/[批次文件夹名]-列表归档结果" \
--rebuild-from-cache
合并和入库
python3 数据处理工作区/04_合并批次结果.py --config 数据处理工作区/01_任务配置.json
如需同步 PostgreSQL:
export WORKFLOW_DB_HOST='数据库主机'
export WORKFLOW_DB_PORT='5432'
export WORKFLOW_DB_NAME='数据库名'
export WORKFLOW_DB_USER='数据库用户'
export WORKFLOW_DB_PASSWORD='数据库密码'
python3 数据处理工作区/05_同步PostgreSQL单表.py \
--input 数据处理结果区/合并_图片表格_结构化.json \
--schema 数据处理工作区/06_PostgreSQL建表结构.sql
输出文件
单批次输出:
图片表格_结构化.json图片表格_记录.jsonl图片表格_记录.csv复核报告.json重复主键报告.json缺少主键报告.jsonmerged_images/raw_ocr/信息记录/汇总.json
合并输出:
数据处理结果区/合并_图片表格_结构化.json数据处理结果区/合并_图片表格_记录.jsonl数据处理结果区/合并_图片表格_记录.csv数据处理结果区/信息记录/全局汇总.json数据处理结果区/信息记录/批次汇总.csv数据处理结果区/信息记录/重复主键报告.json数据处理结果区/信息记录/缺少主键报告.json
注意
- 腾讯云密钥、数据库密码只放环境变量。
03_人工复核修正.json可能含真实业务数据,不要提交。raw_ocr/和merged_images/是过程文件,建议保留在本地,便于复核和缓存重建。- 当前 PostgreSQL 模板采用
record_data jsonb保存业务字段;正式稳定后可把高频查询字段改成独立列。