11.7 遍历目录下所有文件

 

递归遍历指定目录下的所有文件。
某小学在线教学终端调查表的汇总整理,统计各终端占比。

imagepng

ID STUDENT_NAME TERMINAL
1 Rebecca Moore Phone
2 Ashley Wilson Phone,PC,Pad
3 Rachel Johnson Phone,PC,Pad
4 Emily Smith PC,Pad
5 Ashley Smith PC
6 Matthew Johnson Phone
7 Alexis Smith Phone,PC
8 Megan Wilson Phone,PC,Pad

使用 directory@s() 函数递归查找文件。

脚本:

A B
1 =directory@ps(“D:/Primary School”)
2 >totalCount=0
3 for A1 =T(A3)
4 =B3.conj(TERMINAL.split@c())|B4
5 >totalCount+=B3.len()
6 =B4.groups(~:TERMINAL;count(~)/totalCount:PERCENTAGE)

A1 递归遍历目录,列出所有文件
A2 定义变量 totalCount,用来存储总记录数
B3 循环导入各班级问卷 excel 文件
B4 将终端按逗号拆分后,合并到 B4 的序列中
B5 将每个班级人数加到 totalCount 中
A6 将 B4 的序列分组汇总,统计每个终端所占的百分比

运行结果:

A1:

Member
D:\Primary School\Grade1\Class1\Investigation.xlsx
D:\Primary School\Grade1\Class2\Investigation.xlsx
D:\Primary School\Grade1\Class3\Investigation.xlsx

B4:

Member
Phone
Phone
PC

A6:

TERMINAL PERCENTAGE
PC 0.7
Pad 0.567
Phone 0.933