Pythonを使って簡単な表を作る
習慣を管理するための表をPythonのスクリプトを使って自動で作れるようにした。
きっかけ
Pythonの勉強のため、土日はpaizaラーニングのC問題を3問解くことにした。表を作って、やったかどうかをチェックすることにした。
作りたいもの
こんな感じの表。土日の日付が並んでいて、やったかどうかを0か1かで記録する。一応合計も出せるようにする。
作った
CSVファイルを作るためのPythonスクリプトを作った。こんな感じ。スクリプトを実行した日に対して、その月の土日の日付を列挙する。
# coding: utf-8 import datetime MAX_MONTH_LENGTH = 31 #現在の年月を取得 today = datetime.date.today() this_year = today.year this_month = today.month #ファイル作成 month_name = today.strftime("%B") f = open(month_name + ".csv","w") #表の項目行の記入 f.write("日付,実行の有無\n") #チェック対象の日付の記入 day = datetime.date(this_year, this_month, 1) #今月の初日 num_of_day = 0 #チェック対象の日付の個数 for i in range(0, MAX_MONTH_LENGTH): if day.month == this_month and (day.weekday() == 5 or day.weekday() == 6): #「今月の土日」の場合 #日付を記入する f.write(str(this_year) + "/" + str(this_month) + "/" + str(day.day) + ",0\n") num_of_day +=1 else: #「今月の土日」以外の場合 pass day += datetime.timedelta(days=1) #計数行の記入 f.write("合計,=SUM(B2:B" + str(num_of_day + 1) +")\n") f.close()
出来るCSVファイルはこんな感じ。
これをNumbersで開くとこんな感じ。
Numbersで開いた後、[command + s]で改めて保存すると、Numbersファイルとして保存される。こんな感じ。
このNumbersファイルをチェック用に使う。SUM関数も使えてるっぽい。
最後のNumbersファイルの作り方ダサいけど…まあいいでしょう。何か良いこと知ってる人いたら教えてください〜
おしまい。