一键提取 多家银行流水并合并为统一格式 Excel 的 Python 工具。
📌 一、项目背景
财务每月需要从多家银行网银导出账户流水(.xls / .xlsx),但这些文件格式各不相同:有的账号藏在表头单元格,有的账号就在数据列里;有的用”贷方/借方”两列表示收支,有的只有”借贷标志+发生额”;中行甚至把人民币、美元两个账户塞进同一个文件。
人工打开一个一个复制、对齐列、补空值、转文本格式,既慢又容易错。
本项目把”读取 → 清洗 → 统一 → 合并”全流程自动化,输出一张标准 8 列流水总表,可直接用于会计核对、银企对账或导入财务系统。
🏦 二、涉及的银行与命名规则
工具按文件名关键词自动识别银行,无需配置。当前支持 8 家:
|
|
|
|
|
|
|
招行 |
|
|
|
|
江苏
|
|
|
|
|
中行 |
|
|
|
|
中信 |
|
|
|
|
建行 |
|
|
|
|
工行 |
|
|
|
|
兴业 |
|
|
|
|
浦发 |
|
|
命名规则(重要)
-
-
文件名只需包含对应关键词即可自动识别,可自由加城市前缀、账号后缀、序号: -
✅ XX中行XX.xls、XX招行XX.xlsx、XX建行XX.xls、XX江苏XX.xls -
✅ XX招行XX.xlsx、XX浦发XX.xls、XX工行XX.xlsx
-
-
识别顺序:先判 中行→ 再判江苏→ 最后遍历其余关键词。 -
新增银行只需在 BANK_CONFIG加一条配置,文件名带该关键词即可。
-
📋 三、可以提取的内容
所有银行统一输出 8 列,顺序固定:
|
|
|
|
|
|
|
|
|
|
|
年/月/日(YYYY/MM/DD) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
统一业务规则
-
对方名称为空 → 一般如结息、扣费等填入 当前公司名称 -
对方账号为空 → 填入当前行银行账号 -
江苏银行自动删除最后一行的 -----的分隔尾行 -
中行一个文件含多个账户(人民币 / 美元),逐账户块提取,来账取付款人、往账取收款人为对方
🎨 四、设计实现与样式结果
架构:配置驱动 + 通用流水线
BANK_CONFIG(各银行配置)
│
▼
process_generic(通用清洗:读表→重命名→算金额→清日期→填空值→文本化)
process_boc(中行专属:多账户块动态切片)
│
▼
sort_result(按 银行名称→银行账号→交易日期 排序)
│
▼
to_excel + openpyxl(强制账号列为文本格式 @)
输出样式结果
-
合并为单个 extracted_bank_data.xlsx,无多余 sheet。 -
排序结果:招商银行 → 江苏银行 → 中国银行 → 中信银行 → 建设银行 → 工商银行 → 兴业银行 → 浦发银行(改顺序只改 BANK_ORDER一行常量)。 -
账号列在 Excel 中显示为文本(左上角绿色小三角,不丢失前导 0、不变 3.2E+19)。 -
日期列全部 2026/06/21样式,可直接按时间排序筛选。
示例(账号等脱敏展示):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
🚀 五、如何使用
1. 准备环境
pip install pandas openpyxl xlrd
2. 放入文件
把所有银行流水 .xls / .xlsx 放进脚本同级的 银行流水/ 文件夹,文件名按上面的命名规则命名。
3. 调整
-
改银行排序:编辑文件顶部 BANK_ORDER列表顺序。 -
加新银行:在 BANK_CONFIG增加一条(含skiprows、rename、account等)。 -
改公司名/空值填充规则:编辑顶部 COMPANY常量或fill_counterparty()。
4. 运行
python 银行流水.py
脚本会扫描文件夹、逐个识别并处理,最后打印 处理完成! 共 N 条记录,结果写入 银行流水/extracted_bank_data.xlsx。
💻 六、完整代码(银行流水.py)
💡 小结
把每月的流水文件丢进文件夹,跑一次脚本,30 分钟的工作量变成 10 秒钟。
看完不过瘾,那就自己发一篇吧!







![表情[nanguo]-寻找资源网](http://www.seekresource.com/wp-content/themes/zibll/img/smilies/nanguo.gif)

![表情[haobang]-寻找资源网](http://www.seekresource.com/wp-content/themes/zibll/img/smilies/haobang.gif)
![表情[shuai]-寻找资源网](http://www.seekresource.com/wp-content/themes/zibll/img/smilies/shuai.gif)
![表情[deyi]-寻找资源网](http://www.seekresource.com/wp-content/themes/zibll/img/smilies/deyi.gif)
![表情[chi]-寻找资源网](http://www.seekresource.com/wp-content/themes/zibll/img/smilies/chi.gif)



暂无评论内容