网站首页/ 信息中心/ 档案百科/

基于Python实现档案制度建设考核自动化评分实战指南

发布时间:2026年09月09日 05:55:22 浏览量:0

1. 环境准备与依赖安装

为了实现档案制度建设考核的自动化,我们将使用Python作为核心开发语言,配合Pandas库进行高效的数据处理。这种方法无需复杂的服务器配置,在本地电脑即可直接运行。

确保你的系统中已经安装了Python 3.8或更高版本。打开终端或命令提示符,输入以下命令安装必要的第三方库:

pip install pandas openpyxl

依赖说明:

2. 考核数据源标准化设计

在编写代码前,必须规范输入数据的格式。我们将考核体系拆分为两个Excel文件:《考核标准表.xlsx》《部门自查表.xlsx》。这种分离设计确保了考核标准的权威性与部门填报的灵活性。

2.1 考核标准表结构

创建一个名为考核标准表.xlsx的文件,设置以下列头。此表由档案管理员维护,定义了档案制度建设的所有硬性指标。

2.2 部门自查表结构

创建一个名为部门自查表.xlsx的文件,这是各部门填报的数据源。

3. 核心评分脚本开发

新建一个文件audit_engine.py。我们将编写一个完整的类ArchiveAuditSystem,包含数据加载、规则匹配、分数计算和结果导出功能。

3.1 数据加载与初始化

这一步负责读取两个Excel文件,并将其合并为DataFrame以便处理。请确保Excel文件放在脚本同级目录下。

```python

import pandas as pd

import os

class ArchiveAuditSystem:

def __init__(self, standard_file, input_file):

检查文件是否存在

if not os.path.exists(standard_file) or not os.path.exists(input_file):

raise FileNotFoundError("请检查Excel文件路径是否正确")

读取标准表

self.df_std = pd.read_excel(standard_file)

读取自查表

self.df_input = pd.read_excel(input_file)

合并数据,以'指标编号'为键

self.df_merged = pd.merge(self.df_std, self.df_input, on='指标编号', how='left')

初始化结果列

self.df_merged['系统得分'] = 0.0

self.df_merged['考核评语'] = ''

```

3.2 自动化评分逻辑实现

这是核心模块。针对档案制度建设考核的特点,我们实现三种最常用的评分逻辑:布尔制(有/无)关键词匹配制数值比例制

```python

def calculate_scores(self):

for index, row in self.df_merged.iterrows():

rule = row['评分规则']

content = str(row['自查情况']) if pd.notna(row['自查情况']) else ""

full_score = row['标准分值']

score = 0

comment = ""

逻辑1:一票否决或布尔制 (有材料得满分,无得0分)

if rule == "PASS_OR_0":

if len(content.strip()) > 0 and content != "无":

score = full_score

comment = "符合要求"

else:

score = 0

comment = "未提供材料或情况说明为空"

逻辑2:关键词包含制 (必须包含特定词)

elif rule.startswith("KEYWORD:"):

keyword = rule.split(":")[1]

if keyword in content:

score = full_score

comment = f"包含关键词'{keyword}'"

else:

score = 0

comment = f"缺少关键要素'{keyword}'"

逻辑3:数值比例制 (用于归档率等指标)

elif rule.startswith("RATE:"):

try:

假设自查情况填的是百分比数值,如 "95"

val = float(content.replace('%', ''))

target = float(rule.split(":")[1])

if val >= target:

score = full_score

else:

按比例扣分示例

基于Python实现档案制度建设考核自动化评分实战指南

score = full_score (val / 100)

comment = f"实际完成率{val}%,目标{target}%"

except ValueError:

score = 0

comment = "数据格式错误,无法计算比例"

写入结果

self.df_merged.at[index, '系统得分'] = score

self.df_merged.at[index, '考核评语'] = comment

```

3.3 报告生成与导出

计算完成后,我们需要生成一份带汇总分析的Excel报告。这里我们不仅输出明细,还增加了一个“汇总”Sheet页。

```python

def export_report(self, output_file="考核结果报告.xlsx"):

计算总分

total_score = self.df_merged['系统得分'].sum()

max_score = self.df_merged['标准分值'].sum()

pass_rate = (total_score / max_score) 100

创建汇总数据

summary_data = {

'项目': ['总分', '满分', '通过率'],

'数值': [total_score, max_score, f"{pass_rate:.2f}%"]

}

df_summary = pd.DataFrame(summary_data)

写入Excel

with pd.ExcelWriter(output_file, engine='openpyxl') as writer:

self.df_merged.to_excel(writer, sheet_name='考核明细', index=False)

df_summary.to_excel(writer, sheet_name='考核汇总', index=False)

print(f"考核完成!报告已生成:{output_file}")

print(f"最终得分:{total_score} / {max_score}")

```

4. 进阶:实现一票否决机制

在档案安全考核中,往往存在“一票否决”项(如发生严重档案丢失)。我们需要在主逻辑中增加这一检查。请在ArchiveAuditSystem类中添加以下方法,并在calculate_scores之前调用。

```python

def check_veto_power(self, veto_keyword="安全事故"):

"""

检查自查情况中是否包含一票否决的关键词。

如果包含,直接将所有分数置0并返回。

"""

for index, row in self.df_merged.iterrows():

content = str(row['自查情况'])

if veto_keyword in content:

print(f"警告:检测到一票否决项({veto_keyword}),考核不通过!")

self.df_merged['系统得分'] = 0

self.df_merged['考核评语'] = "触发一票否决"

return True

return False

```

注意:修改calculate_scores函数,在循环开始前先调用if self.check_veto_power(): return

5. 部署与运行验证

代码编写完毕后,我们需要进行实际运行测试。确保你的目录下包含上述两个Excel文件,然后创建一个启动脚本run_audit.py

```python

from audit_engine import ArchiveAuditSystem

if __name__ == "__main__":

实例化系统,传入标准表和自查表

system = ArchiveAuditSystem(

standard_file="考核标准表.xlsx",

input_file="部门自查表.xlsx"

)

执行计算

system.calculate_scores()

导出结果

system.export_report("2023年度档案制度建设考核结果.xlsx")

```

在终端执行python run_audit.py。如果一切正常,你将看到控制台输出总分信息,并在目录下生成包含“考核明细”和“考核汇总”两个Sheet页的Excel文件。打开文件,检查“系统得分”列是否根据你设定的规则(如包含关键词、非空判断)正确计算了分数。

通过以上步骤,你已成功构建了一套零门槛、可复用的档案制度建设考核自动化系统。这套系统不仅减少了人工核对Excel的繁琐工作,还通过代码固化了考核标准,确保了每一次考核的公正性和一致性。

证券数字档案馆系统:股民再也不用跑营业部找证明了
证券数字档案馆系统:股民再也不用跑营业部找证明了
上周我同事办房贷,银行要近2年的证券交易流水,他翻遍了家里的抽屉,原来的纸质流水早就丢了,给券商打客服电话,说要跑营业部打,来回打车加排队,花了3小时才搞定,差点耽误房贷审批。其实他只要打开开户券商的...
2026年09月09日 05:55:22
微信咨询
电话联系
QQ客服
微信咨询一对一服务
服务热线: 028-8744 4417
QQ客服: 2305721818