Как прочитать быстрое сообщение MT103 в таблице с питоном
Мне нужно прочитать быстрое сообщение 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).
Кто-то сталкивался с такой же проблемой в прошлом?
Спасибо за помощь.
1 ответ
Вы видели эту библиотеку PyPi? Согласно флаеру, он обещает, что вы можете прочитать в файле MT103 и разобрать его в нативный объект Python. Кажется, что это не будет намного проще, чем это? [РЕДАКТИРОВАТЬ]
В следующем примере кода я попробовал библиотеку mt103 для себя, используя PyPi (sudo pip install mt103
). Однако у меня не было действительного файла примера mt103, поэтому вместо этого я получил несколько фиктивных данных. Это, похоже, немного сработало, за исключением того, что у моего файла нет кода bank_operation_. Однако обратите внимание, что я НЕ получил ошибку при предоставлении правильной, но в противном случае неверной строки. Библиотека не проверяет достоверность mt103. При проверке объекта после инициализации он показывает только, что атрибуты текста и заголовка пусты.
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
))
После того, как у вас есть объект И он действителен, вы сможете понять, как превратить его в таблицу, как указано.