Как прочитать быстрое сообщение MT103 в таблице с питоном - PullRequest
0 голосов
/ 28 января 2019

Мне нужно прочитать быстрое сообщение 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 Ответ

0 голосов
/ 28 января 2019

Вы видели эту библиотеку PyPi ?Согласно флаеру, он обещает, что вы можете прочитать в файле MT103 и разобрать его в нативный объект Python.Кажется, что это не будет намного проще, чем это?[EDIT]

В следующем примере кода я попробовал библиотеку 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
))

После того, как у вас есть объект И он действителен, вы сможете выяснить, как его превратить втаблица как указано.

...