[英]How to read a swift message MT103 in a table with python
我需要閱讀這樣的快速消息 MT103:
{1:F01AAAAGRA0AXXX0057000289}
{2:O1030919010321BBBBGRA0AXXX00570001710103210920N}
{3:{108:MT103 003 OF 045}{121:c8b66b47-2bd9-48fe-be90-93c2096f27d2}}
{4:
:20:5387354
:23B:CRED
:23E:PHOB/20.527.19.60
:32A:000526USD1101,50
:33B:USD1121,50
:50K:FRANZ HOLZAPFEL GMBH
VIENNA
:52A:BKAUATWW
:59:723491524
C. KLEIN
BLOEMENGRACHT 15
AMSTERDAM
:71A:SHA
:71F:USD10,
:71F:USD10,
:72:/INS/CHASUS33
-}
{5:{MAC:75D138E4}{CHK:DE1B0D71FA96}}
使用python(或R)進入結構化表。
過去有人遇到過同樣的問題嗎?
感謝您的幫助。
你見過這個 PyPi庫嗎? 根據傳單,它承諾您可以讀取 MT103 文件並將其解析為原生 Python 對象。 似乎不會比這容易得多? [編輯]
在下面的代碼示例中,我使用 PyPi 為自己嘗試了 mt103 庫( sudo pip install mt103
)。 然而,我手頭沒有有效的 mt103 示例文件,所以我得到了一些虛擬數據。 這似乎有點奏效,除了我的文件沒有 bank_operation_code。 但是請注意,在提供有效但不正確的字符串時,我沒有收到錯誤消息。 該庫不檢查 mt103 有效性。 它顯示在初始化后檢查對象時才發現 text 和 header 屬性為空。
from mt103 import MT103
with open('mtfile', 'r') as myfile:
mt103=myfile.read().replace('\n', '')
mt_text = MT103(mt103)
print("basic header: {}, bank op code: {}, complete message: {}".format(
mt_text.basic_header,
mt_text.text.bank_operation_code,
mt_text.raw
))
在您擁有對象並且它是有效的之后,您應該能夠弄清楚如何將其制作成指定的表格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.