行式文本文件拆分

 

1.  分类拆分

对文件中数据进行分类,把每类数据单独存为一个文件,用分类名为文件命名。

示例:有学生成绩表scores.csv中部分数据如下图所示,第1行是列标题,第2行开始是数据记录,每行一条记录,列数据间用逗号分隔。

..

现在要把数据按班级Class分类,每个班级的数据单独保存为一个csv文件。

esProc SPL脚本如下:


A

B

1

=T("E:/scores/scores.csv")

=A1.group(Class)

2

for   B1

=T("E:/scores/"+A2(1).Class+".csv",A2)

A1   读入orders.txt中数据,T函数会自动根据文件扩展名选用适合的分隔符

B1   Class分组

A2   循环每个Class

B2   Class名作为文件名,将A2中的分组数据写入文件,T函数会自动根据文件扩展名选用适合的分隔符

 

2.  按行数拆分

把一个比较大的行式文本文件按照指定的行数拆分为一些小文件。

示例:有订单表文本文件orders.txt中部分数据如下图所示,第1行是列标题,第2行开始是数据记录,每行一条记录,列数据间用\t(Tab)分隔。

..

现在要把orders.txt文件拆分成10000行一个的小文件。

esProc SPL脚本如下:


A

B

1

=T("E:/orders/orders.txt")


2

for   A1,10000

=T("E:/orders/orders"/#A2/".txt",A2)

A1   读入orders.txt中数据,T函数会自动根据文件扩展名选用适合的分隔符

A2   循环A1中数据,每次取10000条数据

B2   orders加循环序号为文件名,将A2中的数据写入文件,T函数会自动根据文件扩展名选用适合的分隔符