我正在开发一个获取 CSV 文件的流程。我想根据 CSV 记录中的第一个字段将记录放入不同的目录中。
例如,CSV 文件看起来像这样
country,firstname,lastname,ssn,mob_num
US,xxxx,xxxxx,xxxxx,xxxx
UK,xxxx,xxxxx,xxxxx,xxxx
US,xxxx,xxxxx,xxxxx,xxxx
JP,xxxx,xxxxx,xxxxx,xxxx
JP,xxxx,xxxxx,xxxxx,xxxx
我想获取第一个字段(即国家/地区)的字段值。将这些记录放入特定目录中。美国记录转到美国目录,英国记录转到英国目录,依此类推。
我现在的流程是:
GetFile
---->SplitText
(行分割计数 = 1 & 标题行计数 = 1) ---->ExtractText
(行=(.+))---->PutFile
(目录 = \tmp\data\${line:getDelimitedField(1)})。我需要将头文件复制到所有拆分文件中以用于不同的目的。所以我需要他们。
问题是,传入的 CSV 文件被成功分割成多个带有标头的流文件。但是,我给出的正则表达式ExtractText
处理器根据分割流文件的 CSV 标头而不是记录对其进行评估。因此,我总是在“线路”属性中输入“国家”,而不是“美国”或“英国”。所以所有文件都转到\tmp\data\country
。帮我看看如何解决这个问题。