数秒で開始
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、すぐに使用可能
1つのライブラリ、6つのフォーマット
CAMT.053、PAIN.001、CSV、OFX、QFX、MT940を単一の統合APIで構造化されたpandas DataFrameに解析します。各フォーマット用に別々のパッケージをインストールする必要はありません。
| 機能 | 銀行取引明細書パーサー | 単一フォーマットOSS (mt940, ofxparse) | SaaS (Ocrolus, Parseur) |
|---|---|---|---|
| サポートフォーマット | 6、統合API | 各1つ | 多数(OCR経由) |
| データプライバシー | 100%ローカル、ネットワーク呼び出しゼロ | 100%ローカル | データは外部に送信 |
| コスト | 無料、Apache 2.0 | 無料 | $49-$1,000+/月 |
| PIIマスキング | 内蔵、デフォルトでオン | なし | 様々 |
| ストリーミング | 限定メモリ | なし | N/A |
| ZIPセキュリティ | 内蔵ハードニング | なし | N/A |
| 重複排除 | 信頼度スコア付き内蔵 | なし | 一部 |
ISO 20022移行のために構築
SWIFTは確固たる期限を設定しました:すべての金融機関は2027年11月までにCAMT.053を受信できるようにする必要があり、MT940/MT942/MT950は2028年11月までに完全に廃止されます。銀行取引明細書パーサーはレガシーMT940と最新のISO 20022フォーマット(CAMT.053、PAIN.001)を単一のAPIで処理するため、移行期間中もそれ以降もパースパイプラインが機能します。
パフォーマンス
- 27,000+トランザクション/秒 CAMT.053解析
- 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()で複数のファイルを同時に解析。