generated at
kgtt-cli

これのデータどこにいった........??🤔
もしかして削除してしまったか!?!?
うわああああああ
ダウンロードフォルダ上でプロジェクトを展開するのはやめようね!!!

関学時間割表を扱いやすくするために、Excelデータをjson形式に変換することを試みる。
次の手順で変換する。
.xlsx --(1)Excel--> .csv --(2)--> .json
(2)部の部分を主に開発する。
(1)部は手動で。
SheetJSを使って自動化する。
「CSV UTF-8」で保存する。

使用するもの・前提知識
npm install, npm uninstall, package.jsonとは, npmを使ったパッケージの使い方
あるとよい: npm install --save-dev
使うパッケージ
Typescript(tsc) : 4.8.4
(JavaScriptでも問題ない)
csv-parser: 3.0.0
Node.js: 18.12.1
関西学院大学の事務室が配布した2023年度時間割
2023年度時間割の仕様に沿って変換を行う。
時々修正が入るのでkwicにて確認すること。
これらの処理を行う際には自己責任でお願いします。

p言語選択
C言語 --> マルチバイト文字入力の扱いが面倒そう...?
C++ --> csvの入出力に慣れていない、僕自身まだ使い慣れてない。
こういう小さいプロジェクトでもC++を気軽に扱えるようになりたい
TypeScriptで実装してみる
幸いにも型情報が与えられている。

雑多なノート
tsc --inittsconfigが作れる。

与えられた科目名である講義を探す。
p 科目名によるソートの実装
p二分探索の実装
p講義名一覧ファイル入力からデータを受け取る
pマッチする講義名を各行に列挙する
ターム, 時限, 講義者名, 授業コード
--> 秋学期のデータも読み込めるようにしちゃう!
複数候補あればそれらも1セルにまとめて出す
重複なし
区切り文字は-
火1-火2など
それで、新たなCSVテキストファイルを得ることができる

得たCSVファイル情報工学過程データベースのスプレッドシートに貼っつける
入力系列をExcelファイルから得る
入力列をプログラムに入力
出力されたものをスプレッドシートに貼っつける

p前処理の自動化
pテストを書く。
Windows, DOSからutf-8へ変換
いや、Excelからの出力形式を、csvからCSV UTF-8に乗り換えたらこの部分はスキップできるわ
""で囲まれたセル内改行をなくす。
LFの改行コードを削除し、CRLFのみで扱う。
ややこしい。LFCRLFの関係が維持されるかも不明。
p前のヘッダ行を置換
前から指定行数だけ置換する方法
前処理をcsvを読み込む前に挟み込む。

pcommander.jsを使ってCLIを整備
p機能をasync function化
pinit
search

SheetJSを使って、Excelファイルを入力さえすれば直接CLIで触れるように。
Excelの春学期のシートと秋学期のシートを読み込む
セル内改行がおかしく変換されないか確認
行としての改行は\r\nでセルの改行が\n
今の実装がCRLFLFの違いに依存してないな
UTF-8で出力されるか確認
ローマ数字がどう出力されているか確認