CSV 端口

CSV端口可以将逗号分隔值(CSV)文件转换为XML,也可以从XML生成CSV文件。

概览

XML是知行EDI系统用于工作流中的主要数据格式。 因此,将CSV文件转换为XML作为在工作流中进行进一步处理的暂存步骤,或者在处理完XML之后将XML转换为CSV文件非常有用。 这两个操作都可以通过CSV端口完成。

有关将CSV转换为XML的详细信息,请参见下方“将CSV转换为XML”部分。 有关将XML转换为CSV的详细信息,请参见下方“将XML转换为CSV”部分。

端口配置

本文包含所有可配置的端口属性。

设置标签


CSV 配置

与端口核心操作相关的配置。

  • 第一行是CSV文件标题信息CSV文件是否包含首行标题信息,这些标题为文件中的值提供名称或相关解释说明。
  • 记录名称转换为XML时,代表CSV文件中一行的元素名称。 有关更多详细信息,请参见将CSV转换为XML。

本地文件夹

这些配置确定将待处理文件、已处理文件存在磁盘上的文件夹,以及输出后的文件夹放置何处。

  • 输入文件夹(Send)端口可以处理放置在此文件夹中的文件。 如果启用了“自动化”,则端口将自动轮询此位置以处理文件。
  • 输出文件夹(Receive)端口完成文件处理后,结果将放置在此文件夹中。 如果端口已连接到流程中的另一个端口,则文件将不会保留在此处,而是会传递到所连接端口的“输入/发送”文件夹中。
  • 处理后文件夹(Sent)处理文件后,如果启用了“保存到Sent文件夹”,端口会将已处理文件的副本放置在此文件夹中。 该文件的副本将不会传递到流中的下一个端口。

其他配置

先前分类中包含的配置

  • 保留消息副本已处理文件的日志条目是否将包括文件本身的副本。
  • 保存到Sent文件夹端口处理的文件是否应复制到端口的“Sent”文件夹。

自动化

端口自动处理文件的相关配置。

  • Send到达端口的消息是否将被自动处理。

将CSV转换为XML

将CSV文件转换为XML时,生成的XML具有以下结构:

原始文件中的每一行(记录)都将成文根元素“Items”的子元素。所有记录元素的名称均由“记录名称”设置选项确定。然后每个记录元素都有对应于输出文件每一个行中的值的子元素。

一些CSV文件包含一行标题信息,这些标题信息为文件中的值提供了名称或相关解释说明。

启用“第一行是标题信息”配置后,将解析此标题行,并将解析的标题用作值元素(记录元素的子元素)的元素名称。

否则,将为值元素指定通用名称,例如field_0,field_1等。

将XML转换为CSV

要将XML转换为CSV文件,输入的XML必须具有“平面”结构。 这意味着,不管根元素如何,XML结构的深度都是2。例如:

XML的解释如下:将根元素的子级视为结果文件中的记录(行),并将每个记录元素的子级视为每一行中的值。 如果启用了“第一行是标题信息”选项,则会将标题行插入到结果CSV文件中,其中包含每个值元素的名称,以提供值的上下文。 在上面的示例中,此标题行将由标题,年份和运行时组成。

CSV转换:使用XML Map 端口

许多数据转换流将CSV端口与XML Map端口结合使用。

通常,数据以CSV格式进入工作流,然后以其他某种格式(例如数据库插入,EDI文件,插入CRM或ERP数据源的插入等)结束工作流,反之亦然。 知行EDI系统使用单一的简化方法来满足以下数据转换要求:

  • 将输入格式建模为XML
  • 将输出格式建模为XML
  • 使用XML Map 端口在输入XML与输出XML之间进行关系映射

因此,CSV端口通常与工作流中的XML Map 端口相邻:

在工作流中,当输入CSV文件时,CSV端口先将CSV文件转换为XML,然后将该XML发送到XML Map 端口进行转换。当输出CSV文件时,CSV端口从XML Map 端口接收XML文件,将其转换为CSV文件。

CSV端口包括上传测试文件功能,以简化用XML表示CSV文件的过程。

CSV 函数

除知行EDI系统随附的操作外,端口还可提供将功能扩展到Script中的操作。下面列出了CSV端口功能的特定操作。

csvListRecords

循环遍历指定CSV文件或字符串中的每个记录。

必要参数

  • 文件:CSV文件的路径。

可选参数

  • data:如果CSV数据以字符串形式存在而不是存储在CSV文件中,请使用此参数代替file。
  • columns:以逗号分隔的列列表,包括在输出中(如果未指定,则将包括所有列)。
  • requireheader:默认情况下,数据的第一行被解释为列标题;将false传递给此参数以使用通用列名(例如c1,c2,c3)。

输出

csvListRecords函数中的任何脚本将执行多次:对输入CSV文件/数据中找到的每个记录/行执行一次。在操作中,可以使用csv formatter程序访问单个CSV值。该格式化程序将列名作为参数,并输出该列中当前记录的值。

例如,假设CSV输入数据包含一组在订单中购买的商品,并且商品名称保存在“ItemName”列中。以下脚本生成一个XML,该XML在元素中包含每个“ItemName”值:

了解更多EDI信息,请您电话 150-0298-3180 / 177-8250-8152 或邮件 edi@kasoftware.cn 联系我们。点击下方蓝色按钮,即可免费试用EDI软件。

注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。

标签: , , , , , ,
文章分类 EDI, 解决方案