我需要从具有重复行的.csv文件中创建一个Flat文件架构:
#Constant
#Date:1.1.1999
类型1; XXX; YYY; ZZZ; AAA; BBB
2型; XXX; YYY; ZZZ; AAA; BBB
的Type3; XXX; YYY; ZZZ; AAA; BBB
0; 123; 222; 333; 444
1; 1; 22; 333; 2; 22
1; 2; 33; 22; 2; 22
1 ;;; 33; 3; 33
2; 100; 22; 1; 222; 11; 22
0; 23; 22; 33; 44
1; 2; 11; 22; 11; 22
1; 22; 11; 22; 22; 33
0; 23; 22; 55; 66
1; 22; 11; 22; 66; 77
正如您所看到的,0,1和2类型的行正在重复。
我尝试创建平面文件,考虑#Constant直到Type3为字段元素,0,1,2行作为重复记录及其各自的标记标识符。但由于这些行重复,我在验证模式实例时遇到错误。
答案 0 :(得分:0)
您可以使用平面文件架构向导和一些手动修改来创建架构。
从向导开始。
首先为重复部分创建模式:选择第一个行0,1,1,1,2,
块,将分隔符留空(删除默认值)并将元素类型设置为“重复记录”。默认名称为Root_Child1
。
将其解析为以CRLF
为分隔符的子节点。将第0行的元素类型,第1行和第2行设置为“重复记录”,并将第2行和第3行设置为“忽略”。最终将有三个子记录(Root_Child1_Child1
, Root_Child1_Child2
和Root_Child1_Child5
)。
继续使用分号作为分隔符将这些子记录解析为字段,并将标记标识符分别设置为0, 1 and 2
。最后,在表示第2行(Root_Child1_Child5
)的记录节点上,修改Min发生到0
。
现在在Root_Child1
之前手动添加同级记录节点以表示常量块。右键单击它并选择"Define Record from Flat File Instance"
。选择前五行,将分隔符留空,并将元素类型设置为Record
。继续将记录解析为5个子记录,并将CRLF
作为分隔符。然后,如果愿意,您可以使用分号分隔符将这些子记录解析为字段节点。