【发布时间】:2021-07-27 14:04:01
【问题描述】:
我只想使用 python 解析 EDI 文件。我不确定哪种是解析此类 EDI 文件的最佳方法。或者我应该将此 EDI 转换为其他格式然后进行解析吗?我不知道。请帮帮我。提前致谢。
EDI X12 文件示例如下。
ISA00 00 0100060902413PRD ZZRT2004010044 U004019900025210P|~ GSSH0060902413B2B004919486202004010044990002521X004010~ ST856990002521~ BSN00SHPMORSC4983493955202003311647TS~ HL*1S~ REF8XASN~ DTM00220200331164718~ N1STXYZ Ltd91WH3PL1LOC1~ N3XYZ Ltd Logistics,4601 Stilwell Street~ N4堪萨斯城64120美国SPMO~ N1SFA 电脑91CM1LOC1~ N3A Computers Rd, 110~ N4*Ran91730美国SPCA~ HL21O~ REF7960Y~ 参考做MORC493493955~ REFCRMRS4983493955~ HL32T~ MEAPDG1.00LB~ MEAPDHT1.00IN~ MEAPDLN1.00IN~ MEAPDWD1.00IN~ MANGM134015~ HL43P~ MANGM136096~ HL54我~ LIN1VP1003200-01-RCH美国~ SN110EA**10EA~ REFP4MAIN~ REFJBMAIN~ HL62T~ MEAPDG1.00LB~ MEAPDHT1.00IN~ MEAPDLN1.00IN~ MEAPDWD1.00IN~ MANGM134015~ HL76P~ MANGM132973~ HL87我~ LIN2VP72004985-03-RCH美国~ SN110EA**10EA~ 参考SEAJ162918473~ 参考SEAJ163222283~ 参考SEAJ173032198~ 参考SEAJ162915706~ 参考SEAJ174446687~ 参考SEAJ163229302~ 参考SEAJ163228027~ 参考SEAJ174450336~ 参考SEAJ162404159~ 参考SEAJ162913903~ REFP4239326~ REFJBMAIN~ PKGF**LHR25 :ZI1, 226, PM: tii@, 收件人联系方式:tilt7.~ PKGF**02_0>25600~CTT8~ SE24069990002521~ 通用电气1990002521~ 国际能源署1*990002521~
【问题讨论】:
-
您需要使用 EDI 做什么?只要你知道结构,它只是文本。你可以考虑试试 BOTS (bots.sourceforge.net/en/index.shtml)
-
我必须根据使用python的要求从每个段中解析和获取一些必需的元素来创建一些出站文件。
-
那么 EDI 是入站的,您想要解析它并创建出站的文档/数据馈送?
-
是的。你是对的。这是一种 3PL 交易使用。将使用 ASN EDI(856, 861,940,945,846,947) 格式。
-
好的 - 所以这些文档中的一些是入站的,而一些是出站的。例如,945 是对 940 的响应。因此,如果 940 是入站,则 945 是出站。你在这里重新发明了一个轮子。 EDI 翻译器的存在就是为了将数据从 EDI 转换为商业格式,反之亦然。