0

我有一个包含 1 列和 5 行的顺序文件,我需要将其传输到不同的列。下面更详细的解释:

输入数据

姓名:新桃仁  
国家:中国  
儿童:2  
性别:男,年龄:22  
ip地址:192.168.0.1  

我需要这样的样本输出

姓名 | 国家 | 儿童 | 性别 | 年龄 | IP地址
新桃人 | 中国 | 2 | 男| 22 | 192.168.0.1
4

2 回答 2

0

我会在并行作业中使用枢轴阶段将行转换为列。希望有帮助!

于 2014-10-23T14:56:17.330 回答
0

这种方法假设信息组总是以相同的顺序出现,并且每组有六个完整的值。设置六个阶段变量,比如svName、svCountry等,都是string类型,都初始化为""。导出阶段变量如下:

svName  <--  If In.Line[1,5] = "Name:" Then Field(In.Line, ":", 2, 1) Else svName
svCountry  <--  If In.Line[1,8] = "Country:" Then Field(In.Line, ":", 2, 1) Else svCountry
svChildren  <--  If In.Line[1,9] = "Children:" Then Field(In.Line, ":", 2, 1) Else svChildren
svGender  <-- If In.Line[1,7] = "Gender:" Then Field(Field(In.Line, ":", 2, 1), ",", 1, 1) Else svGender
svAge  <--  If Index(In.Line, "Age:", 1) Then Field(In.Line, ":", 3, 1) Else svAge
svIPAddr  <--  If In.Line[1,11] = "ip address:" Then Field(In.Line, ":", 2, 1) Else svIPAddr
svLastInGroup  <==  In.Line[1,11] = "ip address:"

使用 svLastInGroup 作为输出链接约束表达式。将其他阶段变量映射到适当的列名。

于 2020-12-31T08:22:51.757 回答