1. 同构合并
在某个文件目录下有多个文本文件,这些文件表头和列结构完全相同,只是数据行数和数据内容不同,需要将这些文件的数据全部合并到一个文本文件中,共用同一个表头。
示例:在e:/orders目录下有每日的订单文本文件,每个文件的结构相同,第一行是列名,第二行开始是数据,如下图所示,请将它们合并成一个订单表文件orders.txt。
esProc SPL脚本如下:
A | |
---|---|
1 | =directory@p("e:/orders/*.txt") |
2 | =A1.conj(T(~)) |
3 | =T("e:/orders.txt",A2) |
A1 列出e:/orders目录中所有txt文件名,选项@p表示列出文件的全路径名
A2 读出A1中所有文件的数据并合并起来,T函数会自动根据文件扩展名选用适合的分隔符
A3 将A2中合并后的数据写入文件orders.txt,T函数会自动根据文件扩展名选用适合的分隔符
2. 结构近似的合并
如果文件结构并不是完全相同,比如列的顺序不一样、列数不一样,但各文件都含有共同的几列,想要把这些共同列的数据都合并到一个文件中。合并这些文