【问题标题】:Reading a Swift 910 message in R在 R 中读取 Swift 910 消息
【发布时间】:2019-07-10 00:36:21
【问题描述】:

我有一个数据框,其中有一列包含编码为字符串的 Swift 910 消息。我需要在 R 中接收和解析消息。

R 是否为此提供了内置解决方案?除非绝对必要,否则我不想重新发明轮子。

【问题讨论】:

  • 你能提供可重现的例子吗?
  • 您能提供前几行数据吗?
  • 这给出了一个示例,您可以通过单击“解析消息”按钮来解析它:paymentcomponents.com/demo/mt/selectMessage/…。似乎项目没有恒定的字符长度,所以我不确定解析是否简单。一个可重现的例子(有预期的输出)会有很大帮助。

标签: r dataframe swift-mt


【解决方案1】:

我的建议是通过 R reticulate 使用 python Swift 解析器包。我不知道 R 的 Swift 包。

Python Swift 解析器

https://github.com/danielquinn/mt103

用法:

from mt103 import MT103

mt103 = MT103("some-mt-103-string")
print("basic header: {}, bank op code: {}, complete message: {}".format(
    mt103.basic_header,
    mt103.text.bank_operation_code
    mt103
))

网状 R 包

https://blog.rstudio.com/2018/03/26/reticulate-r-interface-to-python/

install.packages("reticulate")

用法:

library(reticulate)
mt103 <- import("mt103")

控制台

> sessionInfo()
R version 3.5.3 (2019-03-11)
Platform: x86_64-apple-darwin18.5.0 (64-bit)
Running under: macOS Mojave 10.14.4

Matrix products: default
BLAS: /Users/pkjar/.Renv/versions/3.5.3/lib/R/lib/libRblas.dylib
LAPACK: /Users/pkjar/.Renv/versions/3.5.3/lib/R/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_3.5.3
> library(reticulate)
> mt103 <- import("mt103")
> mt103
Module(mt103)
> mt103$
mt103$date       mt103$MT103      mt103$re         mt103$Text       mt103$UserHeader

【讨论】:

  • 我的问题是 MT 910。MT 910 有库吗?
  • @Ankit 通过paymentcomponents.com/demo/mt/submit比较MT103和MT910消息的结构。有了这些,我的感觉是,如果您查看 MT103 代码库,您会注意到 MT910 从 MT103 的演变。即,如果您计划编写一个解决方案,您可以从引用的 MT103 解析器代码包中派生一个 SWIFT MT910 解析器。如果您正在寻找商业套餐,那么我的意思是将您推荐给github.com/prowide
  • @Ankit 我解决了你的问题吗? MT 910。你能否提供更多关于你想要达到的目标的细节?
  • 虽然我专门在寻找 MT910,而您的答案是在 MT 103 附近,但由于这给了我开始的想法,我正在标记它。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 2011-02-17
  • 2015-05-12
  • 2011-01-12
  • 2021-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多