【问题标题】:How to read a swift message MT103 in a table with python如何使用python在表格中读取快速消息MT103
【发布时间】:2019-06-21 09:25:46
【问题描述】:

我需要阅读这样的快速消息 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)进入结构化表格。

过去有人遇到过同样的问题吗?

感谢您的帮助。

【问题讨论】:

    标签: python swift-mt


    【解决方案1】:

    你看过this PyPi图书馆吗?根据传单,它承诺您可以读取 MT103 文件并将其解析为原生 Python 对象。似乎不会比这更容易? [编辑]

    在以下代码示例中,我使用 PyPi (sudo pip install mt103) 为自己尝试了 mt103 库。然而,我手头没有有效的 mt103 示例文件,所以我得到了一些虚拟数据。这似乎有点工作,除了我的文件没有bank_operation_code。但是请注意,在提供有效但不正确的字符串时,我没有收到错误。该库不检查 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
    ))
    

    在您拥有对象并且它有效之后,您应该能够弄清楚如何将其制成指定的表格。

    【讨论】:

    • 是的,我已经读过了。我发现将 swift 消息传递给函数 MT103 时遇到了一些困难。我不知道你有没有试过,我肯定犯了一个愚蠢的错误,但我不能让它工作!
    • 我自己没有尝试过,但也许最好详细的问题关于你尝试了什么和你遇到了什么?
    • 我在将字符串传递给 MT103 时遇到困难,因为如果我将上面写的消息放在一行中(因此删除新行),我可以将其保存为字符串对象,但 MT103 是不工作,否则由于换行,我无法将其保存为字符串。
    • 我添加了一些我自己做的测试。希望这会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 2022-01-27
    • 2019-09-20
    • 1970-01-01
    • 2019-06-17
    • 2022-01-14
    相关资源
    最近更新 更多