昌江黎族自治县档案整理数字化实操全流程指南

一、开发环境与依赖库安装

在进行昌江黎族自治县档案整理之前,首先需要搭建一个基于Python的自动化处理环境。Python能够通过脚本实现批量OCR识别、文件重命名和索引生成,是处理大量档案文件的最佳工具。

1. 安装Python解释器

请前往Python官方镜像站下载Windows x64可执行安装包。下载地址为:https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe。下载后双击运行,务必勾选界面底部的"Add Python to PATH"选项,然后点击"Install Now"完成安装。

2. 安装核心依赖库

打开Windows命令提示符(CMD),依次输入以下命令并回车,安装处理档案所需的OCR库、图像处理库和表格处理库。请确保网络连接正常,以便从国内镜像源快速下载。

```bash

pip install paddleocr paddlepandas opencv-python openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple

```

安装完成后,输入python进入交互模式,输入import paddleocr,如果没有报错,说明环境配置成功。

二、构建标准化目录结构

为了确保昌江黎族自治县各类档案(文书、科技、会计等)在整理后条理清晰,必须先在本地硬盘建立一个标准化的目录树。不要随意将文件散落在桌面或下载文件夹中。

请在D盘(或其他数据盘)根目录下创建名为"Changjiang_Archives_2023"的主文件夹。进入该文件夹,按照以下结构创建子目录:

  • 01_待处理原始扫描件:存放从扫描仪导出的、尚未命名的PDF或JPG文件。
  • 02_文书档案_永久:存放需永久保管的文书类档案。
  • 03_文书档案_30年:存放保管期限为30年的文书类档案。
  • 04_科技档案_基建:存放昌江地区基建项目相关图纸及文档。
  • 05_成果输出:存放最终生成的Excel检索目录表。

这种分类方式符合国家档案局《归档文件整理规则》的标准,能够直接对接后续的数字化移交系统。

三、编写OCR文本提取脚本

昌江黎族自治县的档案多为纸质扫描件,计算机无法直接识别其中的文字。我们需要编写一段Python脚本,调用PaddleOCR引擎自动读取图片或PDF中的文字内容,这是实现档案智能分类的关键步骤。

在电脑上新建一个文本文档,将后缀名改为.py(例如ocr_tool.py),复制以下完整代码并保存:

```python

from paddleocr import PaddleOCR

import os

import cv2

初始化OCR模型,使用方向分类器以适应扫描件可能存在的倾斜

ocr = PaddleOCR(use_angle_cls=True, lang="ch", show_log=False)

def extract_text_from_image(image_path):

读取图片

img = PaddleOCR.read_image(image_path)

执行识别

result = ocr.ocr(img, cls=True)

text_list = []

if result[0]:

for line in result[0]:

text_list.append(line[1][0])

将识别结果拼接成完整字符串

full_text = "\n".join(text_list)

return full_text

if __name__ == "__main__":

指定待处理文件夹路径,请根据实际路径修改

source_dir = r"D:\Changjiang_Archives_2023\01_待处理原始扫描件"

for filename in os.listdir(source_dir):

if filename.endswith((".jpg", ".png", ".jpeg")):

file_path = os.path.join(source_dir, filename)

print(f"正在处理: {filename}")

content = extract_text_from_image(file_path)

将识别出的文本保存为同名txt文件,方便后续检查

with open(os.path.join(source_dir, filename + ".txt"), "w", encoding="utf-8") as f:

f.write(content)

print(f"完成: {filename}")

```

运行该脚本后,系统会自动在扫描件文件夹下生成对应的TXT文本文件,里面包含了档案的完整文字内容。请打开几个TXT文件检查,确认是否准确提取了“昌江黎族自治县”、“发文号”、“日期”等关键字段。

四、编写智能重命名与归档脚本

档案整理的核心是将杂乱的文件名转化为标准的“全宗号-年度-保管期限-机构-问题-件号”格式。基于上一步提取的文本信息,我们可以编写脚本实现自动重命名和移动文件。

新建一个rename_tool.py文件,复制以下代码。此脚本假设档案中包含“2023”字样作为年份,包含“昌江”作为地域标识,请根据实际文件特征调整正则表达式:

```python

import os

import shutil

import re

def process_archives():

source_dir = r"D:\Changjiang_Archives_2023\01_待处理原始扫描件"

permanent_dir = r"D:\Changjiang_Archives_2023\02_文书档案_永久"

target_30_dir = r"D:\Changjiang_Archives_2023\03_文书档案_30年"

确保目标文件夹存在

os.makedirs(permanent_dir, exist_ok=True)

os.makedirs(target_30_dir, exist_ok=True)

file_counter = 1

for filename in os.listdir(source_dir):

if not filename.endswith(".txt"):

continue

txt_path = os.path.join(source_dir, filename)

获取对应的原始图片文件名

original_img_name = filename.replace(".txt", "")

original_img_path = os.path.join(source_dir, original_img_name)

if not os.path.exists(original_img_path):

continue

读取文本内容进行分析

with open(txt_path, "r", encoding="utf-8") as f:

content = f.read()

简单逻辑:提取年份和判断保管期限(此处仅为示例逻辑)

昌江黎族自治县档案整理数字化实操全流程指南

year_match = re.search(r"20\d{2}", content)

year = year_match.group(0) if year_match else "2023"

判断是否包含“重要”或“长期”字样,否则默认为30年

if "重要" in content or "永久" in content:

target_dir = permanent_dir

retention_code = "Y"

else:

target_dir = target_30_dir

retention_code = "30"

构造新文件名:全宗号(001)-年度-保管期限-件号.后缀

ext = os.path.splitext(original_img_name)[1]

new_filename = f"001-{year}-{retention_code}-{str(file_counter).zfill(4)}{ext}"

移动并重命名文件

dest_path = os.path.join(target_dir, new_filename)

shutil.move(original_img_path, dest_path)

print(f"已归档: {new_filename}")

file_counter += 1

删除临时的txt文件

os.remove(txt_path)

if __name__ == "__main__":

process_archives()

```

执行此脚本后,所有原始扫描件将按照年份和保管期限自动移动到对应的文件夹中,并被赋予了规范的文件名。这一步彻底解决了人工重命名效率低且易出错的问题。

五、自动生成Excel移交清单

档案整理的最后一步是生成纸质和电子版的移交目录。我们需要遍历整理好的文件夹,将文件名解析后写入Excel表格。

新建generate_excel.py,输入以下代码:

```python

import os

import pandas as pd

def create_index():

base_dir = r"D:\Changjiang_Archives_2023"

定义需要扫描的文件夹列表

folders_to_scan = [

r"D:\Changjiang_Archives_2023\02_文书档案_永久",

r"D:\Changjiang_Archives_2023\03_文书档案_30年"

]

data = []

for folder in folders_to_scan:

retention = "永久" if "永久" in folder else "30年"

for filename in os.listdir(folder):

if filename.endswith((".jpg", ".png", ".pdf")):

解析文件名:001-2023-Y-0001.jpg

parts = filename.split("-")

if len(parts) >= 4:

file_id = parts[3].split(".")[0]

year = parts[1]

构造行数据

row = {

"件号": file_id,

"责任者": "昌江黎族自治县XX局",

"文号": "",

"题名": filename,

"日期": year + "-01-01",

"页数": "1",

"保管期限": retention

}

data.append(row)

创建DataFrame并保存

df = pd.DataFrame(data)

output_path = os.path.join(base_dir, "05_成果输出", "档案移交目录.xlsx")

os.makedirs(os.path.dirname(output_path), exist_ok=True)

df.to_excel(output_path, index=False)

print(f"移交目录已生成:{output_path}")

if __name__ == "__main__":

create_index()

```

运行脚本后,打开“05_成果输出”文件夹,你会看到一份标准的Excel移交清单。此时,你可以打开Excel,根据扫描件的实际内容手动补充“责任者”、“文号”和“题名”等具体信息,或者利用Excel的VLOOKUP功能结合之前的OCR文本结果进行批量填充。

六、全流程执行与验证

完成上述所有脚本的编写后,请按照以下顺序进行最终操作,确保昌江黎族自治县档案整理工作的准确性。

1. 数据备份

在运行任何自动化脚本前,先将“01_待处理原始扫描件”文件夹复制一份到其他硬盘作为备份,防止脚本逻辑错误导致原始数据丢失。

2. 顺序执行

首先运行ocr_tool.py,检查生成的TXT文件内容是否完整。确认无误后,运行rename_tool.py,观察文件是否被正确移动和重命名。最后运行generate_excel.py生成清单。

3. 质量抽检

随机抽取“02_文书档案_永久”和“03_文书档案_30年”文件夹中的5-10个文件,检查文件名是否符合规范,以及文件内容是否与文件名中的年份、保管期限相符。同时核对Excel清单中的件号是否与实际文件数量一致。

通过以上技术手段,我们摒弃了传统的人工逐份整理方式,利用Python实现了从扫描件到标准化档案库的全自动化流转,极大地提升了昌江黎族自治县档案整理的效率和准确度。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统