0

我正在寻找一种创造性的方法来将多格式的 csv 文件分块成数据结构。

例如这里是我的 csv

FILEHEADER;00;RSRGP;12345;20130415;
542740;60;FRED ROGERS;1Z7539320359483792;4000001388;20130415;0000000800;0000000000;UPS;Grnd;
542740;70;511-59049-019;00001;00001;
542740;80;000000001;000000001;
542740;60;FRED ROGERS;1Z753932032184736528;4000002092;20130415;0000000000;0000000000;UPS;Grnd;
542740;70;511-56957-019;00001;00001;
542740;70;511-58714-019;00002;00002;
542740;70;511-58715-188;00001;00001;
542740;70;511-58717-019;00002;00002;
542740;70;511-58722-188;00001;00001;
542740;80;000000007;000000007;
FILETRAILER;99;0000022;

如您所见,csv 中有不同的记录类型。这通常由第二列 (00, 60, 70, 80 99) 指示。记录类型为 60 的行表示订单标题,并在第 4 列中包含跟踪号。订单 ID 显示在记录类型 60 和 70 的第一列中。所以我有一个包含多个包裹的订单。

我想要一个很好的方法来获取第一个订单标题及其关联的订单行项目(记录类型 70)并将其推送到数据结构中,然后获取下一个订单标题及其关联的行项目并将其推送到另一个数据结构中同类型。

这并不像我最初想象的那么微不足道,现在我已经凝视了足够长的时间,以至于我认为我迷失在了树上。

任何建议将不胜感激。

4

1 回答 1

0

它必须是Linq吗?

您可以逐行读取值,然后使用行/字符串的 .split(';') 方法将其拆分为子字符串数组。

然后,您可以检查相应数组条目的值并使用它们来填充您的数据对象。

于 2013-04-17T05:18:46.273 回答