サードパーティのシステムは、保護者の教師の予約の 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) で行と列の転置を行うことは可能ですか? 木場では、すべての行を処理し、教師ごとにハッシュを蓄積し、最後に各教師のハッシュを出力する必要があると思いますか?