【发布时间】:2021-03-10 06:42:44
【问题描述】:
第三方系统生成家长教师预约的 HTML 表格:
Blocks Teacher 1 Teacher 2 Teacher 3
3:00 pm Stu A Stu B
3:10 pm Stu B Stu C
...
5:50 pm Stu D Stu A Stu E
列数会根据有多少教师进行预订而变化。行数根据我们创建的槽数而变化。
最终结果需要是每个教师的哈希值,例如:
{ name: "Teacher 1", email: "teacher.1@school.edu", appointments: [
{ start: "15:00", end: "15:08", attendees: [
{ name: "Stu A Parent 1", email: "stuap1@example.com" },
{ name: "Stu A Parent 2", email: "stuap2@example.com" }
] },
{ start: "15:10", end: "15:18", attendees: [
{ name: "Stu B Parent", email: "stubp@example.com" }
] },
...
{ start: "17:50", end: "17:58", attendees: [
{ name: "Stu D Parent 1", email: "studp1@example.com" },
{ name: "Stu D Parent 2", email: "studp2@example.com" }
] },
] },
我认为将 ETL 处理为一行是最有意义的,所以这次我将 Numbers 中的行和列转置并将其保存为 CSV:
Blocks,3:00 pm,3:10 pm,...,5:50 pm
Teacher 1,Stu A,Stu B,...,Stu D
Teacher 2,Stu B,,...,Stu C
Teacher 3,Stu D,Stu A,...,Stu E
我试图让办公室工作人员使用的整个过程尽可能简单,那么是否可以在 Kiba(或纯 Ruby)中进行行和列的转置?在 Kiba 中,我假设我必须处理所有行,为每个老师累积一个哈希,然后在最后输出每个老师的哈希?
【问题讨论】:
-
当你给出一个例子时,最好让它完整(例如,不......),以便那些给出答案的人可以展示他们建议的代码为例子提供的结果。在这里你只需要三四行。