1つのスクリプトを書く中で、わからないことが毎回山ほど出てくる・・・。
でも、力業でバグ回避はできるようになった。時間さえあれば動くコードが作れる。
時間を書ければ作れるので、仕事効率化に使えるようになった。
ただしコード改善の時間がないので、わからないことは週末に調べられるようにメモ。
やったこと
サブフォルダ含めある命名規則を持つCSVファイル数百個を読み込んで、ファイル名ごとに、 中の特定列を別のシートにコピペするスクリプト。
学んだこと
glob.glob('/.csv') でサブフォルダ内全ファイル。[]などワイルドカードもいくつか使える。
str[10:15] で文字の一部を抜き出せる。
リストをCSVにしたければ、とりあえずこれを書けばいい。入れ子だったらこれをforで繰り返す。
output_csv.write(",".join(list)) output_csv.write("\n")
解決すべきこと
csvモジュールでネストされたリストの保存の仕方がわからない csv.writeの意義がわからない。
関数から、global変数を呼ばずに複数の変数を書き換える方法(複数のreturnを返す方法?)がわからない
Spyder内で日本語の文字化け。
日本語を含むデータの文字コードの扱い。"rb"とかcodecsとか"cp932"とかどういうときに必要?
バグの確認の仕方。極値や境界の条件を確認するといい?
開いたCSVオブジェクトについてforループを回す処理を、さらにforループすると2回目にオブジェクトが空になる? ファイルオブジェクトから一度閉じて開き直したら回せたので、今は同じコートが2回書いてある・・・。
誰かヒントなどくれると嬉しいです。