行式文本文件拆分
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函数会自动根据文件扩展名选用适合的分隔符