← 返回 Skill 列表
extension
分类: 数据与分析无需 API Key

ListCompare

如果你想对比两份表格的具体差异细节,交给它就可以。比如你手上有两份名单、两份台账、两份订单表,它会自动找出两份表里能对上的那一列(比如订单号、学号、手机号),然后告诉你: 第一份里有、第二份里没有的,有几条 第二份里有、第一份里没有的,有几条 两边都有、但数字对不上的,有几条 跑完给你一份 Excel 报告,谁对谁错,一目了然。发给客户、交给老板,都行。 适配格式:Excel、CSV。 暂不适配:Word、PDF、照片、PPT。 几万行以内,几秒钟就完事。 注:如果你有使用上的任何意见请直接写在评论区,或者我们在User_guide、Readme文档里预留有我们的邮箱

person作者: user_1ea5cf38hubcommunity

ListCompare_std 清单比对工具

版本:1.0.1

把两份清单文件(Excel / CSV)丢进来,自动告诉你:哪些记录只有 A 表有、哪些只有 B 表有、哪些两边都有但金额对不上——最后生成一份 Excel 差异报告,并打包好交付文件夹。

这个工具是干什么的?

适合这些场景:

  • 两边的订单台账需要对账
  • 系统导出的表和人工维护的表要核对
  • 任何"两份清单,找出差异"的活儿

安装

环境要求

  • Python 3.10 或更高
  • 安装依赖库:
pip install pandas openpyxl

放置位置

把整个 ListCompare_std 文件夹放到任意目录即可,无需额外安装步骤。

怎么用

打开命令行(Windows 上可以用 cmd 或 PowerShell),切换到 ListCompare_std 目录,运行:

cd ListCompare_std
python run_pipeline.py --file-a test_data/test_a.xlsx --file-b test_data/test_b.xlsx

上面这条命令用的是自带的示例数据,可以直接跑通。换成你自己的文件时,把两个路径替换掉即可。

参数说明

| 参数 | 必填吗 | 干什么用 | 不填会怎样 | | -------------- | --- | ---------------- | -------------------------------------- | | --file-a | 必填 | 第一份文件路径 | 不填无法运行 | | --file-b | 必填 | 第二份文件路径 | 不填无法运行 | | --key-col | 选填 | 用来对账的那一列,比如"订单号" | 自动用两边共有的第一列 | | --value-col | 选填 | 要核对金额的那一列,比如"金额" | 自动找两边共有的第一个数字列 | | --encoding | 选填 | CSV 文件的编码 | 默认 utf-8;打开 CSV 乱码时试试 --encoding gbk | | --tolerance | 选填 | 金额差多少以内算"一致" | 默认 0.01 | | --output-dir | 选填 | 结果存到哪 | 默认存到 ListCompare_std\output |

完整示例

python run_pipeline.py --file-a "D:\对账\甲方台账.xlsx" --file-b "D:\对账\我方台账.xlsx" --key-col 订单号 --value-col 金额

结果在哪看?

跑完后,所有结果都在 ListCompare_std\output\ 文件夹里:

output\
├── 差异报告.xlsx          ← 打开这个看差异明细
├── 20261008_交付包\       ← 报告副本 + 你传入的两份原始文件
└── 20261008_交付包.zip    ← 压缩包,方便直接发给对方

差异报告.xlsx 里有四个页签:

| 页签 | 内容 | | ---- | ------------------- | | 汇总 | 三类差异各多少条 | | 只在A中 | A 表有、B 表没有的记录 | | 只在B中 | B 表有、A 表没有的记录 | | 值不同 | 两边都有、但金额对不上的记录(附差值) |

支持什么格式?

支持:

  • .xlsx(Excel)
  • .xls(老版 Excel)
  • .csv(逗号分隔的文本表格)

不支持:

  • .txt、.json、.docx、.pdf
  • 图片(拍照/截图的表格请先转成 Excel 或 CSV)

常见问题

Q:提示"文件不存在"?
检查路径有没有写错。路径里有空格或中文时,用英文双引号把整个路径括起来。

Q:CSV 打开后是乱码?
加参数 --encoding gbk 再试一次。

Q:自动选的数值列不是我想比的那一列?
自动检测取的是"排除主键列后的第一个数值列",如果你的表格里"数量"排在"金额"前面,就会选中"数量"。显式指定即可:--value-col 金额。

Q:想重新生成示例数据?
运行 python make_test_data.py。如果找不到 test_data 文件夹,请手动新建一个名为 test_data 的文件夹,再运行该脚本。

反馈渠道

Q:如何将我使用意见发出?
推荐在评论区写下你的意见,或者直接发给我们的邮箱:zenotect8621@ldwtai.cn。

目录结构

ListCompare_std/
├── run_pipeline.py      ← 总入口,你只需要用这一个
├── make_test_data.py    ← 生成示例数据
├── test_data/           ← 示例数据
├── 01_reader/           ← 读表模块
├── 02_compare/          ← 比对模块
├── 03_reporter/         ← 报告模块
├── 04_output/           ← 打包模块
└── output/              ← 结果输出(运行后自动生成)