Skip to content

tenk-9/gen_ClassAlloc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

時間割情報のcsv生成

概要

  • 日野キャンパスの時間割pdfのうち,必要情報をcsvにまとめていただきたいです.

  • 必要情報は以下です.

    • 授業番号(lecture_id)
    • キャンパス(campus)
    • 授業棟(building)
    • 教室番号(room_id)
  • 履修年次,科目名,教員名,開講時限等,上記以外の情報は必要ありません.csvには記述しないでください.

  • 前期・後期共にお願いします.

記述形式の制約

  • csvを読んでDBに情報を流し込むので,ある程度文字列に規則性を持たせたいです.そのため,csvファイルに記述される文字列は以下の制約を満たしていて欲しいです.
    • 数字は全て半角である.
    • アルファベットは全て半角である.
    • 授業棟は"(棟名または棟番号)+号"の形式である.
      • 2号館であれば2号
    • 1行に記述される内容は,左から授業番号,キャンパス,授業棟,教室番号の順である.
    • 授業棟の情報と教室番号は異なる列に記載する.
      • L0099が4号館404教室で開講される場合,L0099,4-404などではなくL0099,4号,404
    • 特殊教室は教室番号の列にその名称を記載する.
    • 特殊教室の名称は時間割pdfに記載されているものと同一である.
      • L0099が2号館CAL室で開講される場合,L0099,2号,CAL室
    • 特殊教室の授業棟情報が記載されていない場合,可能な限り補完して記述する.
      • L0099が大講義室Aで開講される場合,L0099,2号,大講義室A
    • 1つの授業が複数の教室を使用する場合,教室ごとに1行が記述されている.
      • L0254が4-403,2-CALで開講される場合,L0254,4号,403\nL0254,2号,CAL室
    • 複数コマ連続で授業が行われる場合,同一の記述を複数行行う必要はない.
      • L0136は3,4限にまたがって開講されるので,L0136,4号,405\nL0136,4号,405と書く必要はないです.L0136,4号,405だけで構いません.
      • データを流し込む段階で排除されるので,複数行記述されていても問題ありません.

gencsv.py

  • データを手入力する場合に補助となるプログラムです.
  • 以下のことをします.
    • 出現しうる大文字を小文字に変換します.
    • 授業棟は数字のみを入力する想定で,半角に変換した後にを付け足します.
    • キャンパスの情報を自動で記述します.
    • 繰り返し情報を入力できます.ctl+cでプログラムを終了すると,それまでに入力した情報を,同一階層に存在するclass_alloc.csvに書き込みます.
  • 先の制約を満たす範囲内で,使いやすいように自由に改変してください.
  • pdfファイルをスクレイピングしてみてもいいかもしれません.データ構造を理解したり,文字列を処理するいい練習になるかも(おせっかい).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages