Skip to content

sjkncs/EIC-shipping-data-processing

Repository files navigation

EIC航海记录OCR校正与数据处理项目

项目简介

本项目用于处理英属东印度公司(EIC)1605-1856年的船运航海记录数据,主要功能包括:

  • OCR识别结果的校正与验证
  • 日期格式标准化(统一为YYYYMMDD格式)
  • 字段错误检测与修正(LedgerorReceiptBook和ReferenceNumber列)
  • 缺失页面的OCR数据提取与整合

项目结构

E:\大创2.4/
├── scripts/          # Python脚本和批处理文件
├── data/            # 原始数据文件
├── output/          # 处理结果输出
├── docs/            # 项目文档
├── backup/          # 备份文件
└── EIC船运数据转jpg_to大创/  # 原始图片数据

主要功能模块

1. OCR校正脚本

  • ocr_correction_by_page.py: 按页码范围进行OCR校正
  • ocr_correction_page89-126.py: 针对page 89-126的专项校正
  • 缺失页面OCR结果_导出.py: 导出缺失页面的OCR结果

2. 日期格式处理

  • 统一缺失页面日期格式.py: 将日期统一为YYYYMMDD格式
  • 检查并修正主表格日期格式.py: 检查主表格中的日期格式问题
  • 生成需要修正的日期表格.py: 生成需要修正的日期记录列表

日期格式规则:

  • 目标格式:YYYYMMDD(如:18050201表示1805年2月1日)
  • 年份继承:没有年份的日期自动继承上一条有年份记录的年份
  • 支持格式:1805 Feb. 1, Mar. 1, 1806 May 12

3. 字段校正

  • 检查并修正LedgerorReceiptBook和ReferenceNumber.py: 检测字段混淆错误
  • 自动修正LedgerorReceiptBook和ReferenceNumber.py: 自动交换错误填写的字段
  • 直接修改原表格.py: 直接在原Excel文件中应用修正

字段格式规范:

  • LedgerorReceiptBook: L & R.B., L.&R.B., Two R.B.,
  • ReferenceNumber: 178 D, 178 D 178 K, 454 H等(数字+字母组合)

4. 验证工具

  • 验证OCR结果.py: 验证OCR结果的一致性
  • 详细验证OCR结果.py: 详细对比Excel和Markdown中的OCR数据
  • 验证修正结果.py: 验证字段修正的正确性

环境配置

依赖包

pip install -r docs/requirements.txt

主要依赖:

  • pandas
  • openpyxl
  • pillow

快速开始

  1. 一键安装环境(Windows):

    scripts\一键安装所有工具.bat
  2. 运行OCR校正:

    python scripts/ocr_correction_page89-126.py
  3. 日期格式统一:

    python scripts/统一缺失页面日期格式.py
  4. 字段错误修正:

    python scripts/直接修改原表格.py

数据处理流程

  1. 页面连续性检查 → 识别缺失页面
  2. OCR数据提取 → 从图片中提取8个字段
  3. 日期格式标准化 → 统一为YYYYMMDD格式
  4. 字段错误检测 → 识别LedgerorReceiptBook和ReferenceNumber混淆
  5. 数据验证 → 确保修正结果正确
  6. 结果导出 → 生成修正后的Excel文件

处理的数据字段

  • Logbegins: 航行开始日期
  • Logends: 航行结束日期
  • Ship: 船名
  • Captain: 船长
  • LedgerorReceiptBook: 账本或收据簿标记
  • ReferenceNumber: 参考编号
  • Remarks: 备注
  • page: 页码
  • filename: 对应的图片文件名

输出文件说明

主要输出文件

  • 英印航海记录处理_日期已修正.xlsx: 日期格式已统一的完整表格
  • 英印航海记录处理_LedgerorReceiptBook和ReferenceNumber已修正.xlsx: 字段已修正的完整表格
  • 缺失页面OCR结果_日期已统一.xlsx: 缺失页面的OCR结果(日期已统一)

修正记录文件

  • LedgerorReceiptBook和ReferenceNumber修正记录.xlsx: 字段修正的详细记录
  • 格式不正确的日期记录_仅Logbegins和Logends.xlsx: 需要修正的日期记录

处理报告

  • 处理报告_page89-126.txt: page 89-126的处理报告
  • 缺失页面OCR结果.md: 缺失页面OCR结果的Markdown格式

文档

  • 开发环境完整配置指南.md: 详细的环境配置说明
  • 快速参考卡片.md: 常用命令和操作快速参考
  • SETUP_GUIDE.md: 项目设置指南

统计数据

  • 总记录数:3,519条
  • 处理页面范围:page 89-126(对应图片page-0090.jpg至page-0127.jpg)
  • 缺失页面:4页(page 91, 100, 103, 121)
  • 缺失页面OCR记录:144条
  • 日期格式错误:2,208条
  • 字段混淆错误:7条(已修正)

注意事项

  1. 备份: 所有修改操作会自动创建备份文件
  2. 验证: 修改后建议运行验证脚本确认结果
  3. 图片路径: 确保EIC船运数据转jpg_to大创文件夹中的图片文件完整
  4. Excel文件: 处理前确保Excel文件未被其他程序打开

版本历史

  • v1.0 (2026-02-04): 初始版本
    • 实现OCR校正功能
    • 日期格式标准化
    • 字段错误检测与修正
    • 数据验证工具

作者

大创项目组

许可证

本项目仅用于学术研究目的。

About

EIC航海记录OCR校正与数据处理项目 | OCR Correction and Data Processing for EIC Shipping Records (1605-1856)

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors