几秒钟内即可开始
pip install bankstatementparser
from bankstatementparser import create_parser, detect_statement_format
fmt = detect_statement_format("statement.xml")
parser = create_parser("statement.xml", fmt)
df = parser.parse() # pandas DataFrame, ready to use
一个库,六种格式
使用单个统一的 API 将 CAMT.053、PAIN.001、CSV、OFX、QFX 和 MT940 解析为结构化 pandas DataFrame。无需为每种格式安装单独的软件包。
| 特征 | 银行对账单解析器 | 单一格式OSS(mt940、ofxparse) | SaaS(Ocrolus、Parseur) |
|---|---|---|---|
| 支持的格式 | 6、统一API | 各 1 个 | 许多(通过 OCR) |
| 数据隐私 | 100%本地,零网络调用 | 100%本地化 | 外部发送的数据 |
| 成本 | 免费,阿帕奇 2.0 | 自由的 | $49-$1,000+/月 |
| PII 编辑 | 内置,默认开启 | 不 | 各不相同 |
| 流媒体 | 有限内存 | 不 | 不适用 |
| 邮政编码安全 | 内置强化 | 不 | 不适用 |
| 重复数据删除 | 内置置信度分数 | 不 | 一些 |
专为 ISO 20022 迁移而构建
SWIFT 设定了严格的截止日期:所有金融机构必须在 2027 年 11 月之前收到 CAMT.053,MT940/MT942/MT950 将在 2028 年 11 月之前完全停用。银行对账单解析器可在单个 API 中处理传统 MT940 和现代 ISO 20022 格式(CAMT.053、PAIN.001),因此您的解析管道在过渡期间及之后都可以正常工作。
## 表现
- CAMT.053 解析每秒超过 27,000 笔交易
- 52,000+ 事务/秒 用于 PAIN.001 解析
- < 2 ms 获得第一个结果的时间
- 恒定内存通过流式处理从 1K 到 50K+ 事务
- 467 次测试,Python 3.9 到 3.14 的分支覆盖率为 100%
为什么选择银行对账单解析器?
- 格式自动检测:
detect_statement_format()自动识别文件并create_parser()返回正确的解析器。 - 隐私第一:默认情况下启用 PII 编辑。敏感字段(姓名、IBAN、地址)在 CLI 输出中被屏蔽。选择加入
--show-pii当需要时。 - 生产就绪:安全 ZIP 摄取(炸弹保护、加密条目拒绝)、输入验证和路径遍历预防。
- 灵活输出:导出为 CSV、JSON、Excel,或转换为 Polars DataFrame。
- 并行处理:同时解析多个文件
parse_files_parallel().
[开始使用❯][01] | [在 GitHub 上查看❯][02] | [在 PyPI 上查看❯][03]
[01]:/getting-started/index.html [02]:https://github.com/sebastienrousseau/bankstatementparser [03]: https://pypi.org/project/bankstatementparser/