【发布时间】:2010-10-25 07:32:27
【问题描述】:
我是 Python 的新手,我正在考虑使用它来编写我们的供应商需要的一些复杂的 EDI 内容。
基本上,他们需要一个 80 个字符的固定宽度文本文件,其中包含带有数据的字段的某些“块”,其他的则留空。我有文档,所以我知道每个“块”的长度是多少。我得到的响应更容易解析,因为它已经有数据,我可以使用 Python 的“切片”来提取我需要的内容,但我不能分配给切片 - 我已经尝试过了,因为它听起来不错解决方案,它不起作用,因为 Python 字符串是不可变的 :)
就像我说的那样,我真的是 Python 的新手,但我对学习它感到很兴奋 :) 我该怎么做呢?理想情况下,我希望能够说范围 10-20 等于“Foo”,并使其成为带有 7 个额外空白字符的字符串“Foo”(假设所述字段的长度为 10)并且具有较大的 80 个字符字段的一部分,但我不知道该怎么做。
【问题讨论】:
-
您正在处理 X12 EDI 消息吗?布局并不是真正固定的。你在处理其他格式吗?如果是这样,那不是真的 [EDI] 是吗?它只是固定的文件布局。
-
我不知道,真的。他们在所有文档中都将其称为“EDI”。我所知道的是我必须向他们发送一条记录(他们称之为“H0”记录,他们会发回一个文件让我解析。
-
X12 的 ISA 标头是固定宽度(第一行),因为直到行尾才声明分隔符。