本次培训采用Python技术栈,零编程基础也可直接上手,所有安装资源和命令直接复制使用即可:
brew install python@3.9 回车执行sudo apt install python3.9 回车执行安装完成后打开终端输入 python --version,返回「Python 3.9.13」即为安装成功,继续输入以下命令安装依赖库:
pip install pandas numpy pyecharts openpyxl
代码运行方法:把后续所有代码复制到记事本,保存为后缀为.py的文件(比如档案分析.py),打开终端进入文件所在目录,输入 python 档案分析.py 即可运行
首先把所有待分析的档案数据统一整理为CSV格式,必填字段必须完全遵循以下命名:档案编号、人员姓名、归档日期、档案类别、存储位置、借阅状态、有效期,非必填字段可自行保留,不会影响代码运行。
import pandas as pd
读取原始数据,替换为你自己的文件路径
df = pd.read_csv("原始档案数据.csv", dtype={"档案编号": str})
1. 去重:按档案编号去重,保留最新一条
df = df.drop_duplicates(subset="档案编号", keep="last")
2. 缺失值处理:归档日期、档案类别为空的直接删除,其余字段填充为「未填写」
df = df.dropna(subset=["归档日期", "档案类别"])
df = df.fillna("未填写")
3. 日期标准化:统一转为YYYY-MM-DD格式
df["归档日期"] = pd.to_datetime(df["归档日期"]).dt.strftime("%Y-%m-%d")
4. 导出清洗后数据
df.to_csv("清洗后档案数据.csv", index=False, encoding="utf-8-sig")
操作注意:把代码里的「原始档案数据.csv」替换为你本地的实际文件路径,运行后会在同目录生成清洗后的数据文件,可直接用Excel打开核验
以下是档案管理场景最常用的3类分析维度,代码可直接复制追加到上述清洗代码后面即可运行:

分析1:各档案类别存量统计
档案类别存量统计
category_count = df["档案类别"].value_counts().reset_index()
category_count.columns = ["档案类别", "存量"]
category_count.to_csv("档案类别存量统计.csv", index=False, encoding="utf-8-sig")
分析2:近3年归档量趋势统计
提取归档年份
df["归档年份"] = pd.to_datetime(df["归档日期"]).dt.year
筛选近3年数据
recent_3year = df[df["归档年份"] >= (pd.Timestamp.now().year - 2)]
year_count = recent_3year["归档年份"].value_counts().sort_index().reset_index()
year_count.columns = ["归档年份", "归档量"]
year_count.to_csv("近3年归档量统计.csv", index=False, encoding="utf-8-sig")
分析3:借阅状态占比统计
borrow_count = df["借阅状态"].value_counts().reset_index()
borrow_count.columns = ["借阅状态", "数量"]
borrow_count.to_csv("借阅状态统计.csv", index=False, encoding="utf-8-sig")
所有代码运行后都会在当前目录生成对应的统计CSV文件,可直接导入培训课件或者分析报告使用
以下代码可直接生成交互式可视化图表,追加到上述分析代码后面运行即可:
from pyecharts.charts import Bar, Pie, Line
from pyecharts import options as opts
1. 生成档案类别柱状图
bar = Bar()
bar.add_xaxis(category_count["档案类别"].tolist())
bar.add_yaxis("存量", category_count["存量"].tolist())
bar.set_global_opts(title_opts=opts.TitleOpts(title="档案类别存量统计"))
bar.render("档案类别存量柱状图.html")
2. 生成借阅状态饼图
pie = Pie()
pie.add("", list(zip(borrow_count["借阅状态"].tolist(), borrow_count["数量"].tolist())))
pie.set_global_opts(title_opts=opts.TitleOpts(title="借阅状态占比"))
pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c} ({d}%)"))
pie.render("借阅状态占比饼图.html")
3. 生成近3年归档量折线图
line = Line()
line.add_xaxis(year_count["归档年份"].astype(str).tolist())
line.add_yaxis("归档量", year_count["归档量"].tolist())
line.set_global_opts(title_opts=opts.TitleOpts(title="近3年归档量趋势"))
line.render("近3年归档量折线图.html")
运行后会生成3个HTML文件,用Chrome、Edge等主流浏览器双击即可打开查看交互式图表,可直接截图插入汇报材料