Python×スプレッドシートでTODO管理|初心者向け自動化入門

    PythonとスプレッドシートでTODO管理 ハナマルコとチャッピー先生 アイキャッチ

    こんにちは、ハナマルコです!
    Python初心者の私が、毎日ちょっとずつChatGPTと一緒に便利なツールを作っていく「実践シリーズ」。今回はその5日目、テーマは「TODOリスト」です!

    実は最近、毎朝バタバタして「今日なにやるんだっけ…?」とスマホを何度も見返す日が増えてきました。アプリを使ってみたけど、入力し忘れたり、つい見逃したりしてしまうことも多くて……。

    「だったら、自分の生活スタイルに合ったTODOリストをPythonで作ってみよう!」
    そんな思いつきから、今回のチャレンジが始まりました。

    今回は、Googleスプレッドシートで予定を作って、Google Colabで「今日のやること」を自動で表示するシンプルなツールを作ります!

    実践シリーズを初回から読みたい方:
    Pythonって何?初心者にやさしく解説

    この記事の内容
    • スプレッドシートで予定を一覧管理する
    • 日付を入れて「いつやるか」を明確にする
    • 今日の予定だけをGoogle Colabで表示する
    • 初心者でも動かせるシンプルなコードがわかる
    読みたいところに飛べる目次

    チャッピー先生との会話からスタート!

    ハナマルコ

    チャッピー先生、朝起きたら“今日やること”がパッと自動で見られたら最高じゃない?

    チャッピー先生

    それ、Pythonならスプレッドシートで予定を作って、Colabで「今日のタスク」だけを読み込めばできますよ。

    ハナマルコ

    それって超便利じゃん!さっそくやってみよう〜!

    いつもの調子で始まりました。

    スプレッドシートで予定を作ってみよう!

    まずはGoogleスプレッドシートを使って予定表を作ります。
    GoogleスプレッドシートはGoogleアカウントがあればだれでも無料で使える表計算ソフトです。Google版Excelのようなものです。

    1. Googleスプレッドシートを開くhttps://sheets.google.com
    2. 以下のようにセルに入力していきます:

    task date memo
    ブログを書く 2025-06-15 午前中にやる
    牛乳を買う 2025-06-15 スーパーで
    洗濯する 2025-06-16 午後でもOK

    スプレッドシートにToDoを書き込む
    ToDoリスト一覧
    1. 入力ができたら、[ファイル] → [ダウンロード] → [カンマ区切りの値(.csv)] を選びます。
    2. 「todo.csv」という名前で保存しましょう。
    スプレッドシートからCSVをダウンロードする
    スプレッドシートからCSVをダウンロードする

    補足:Windowsの「メモ帳」などでCSVファイルを作る方法もありますが、初心者さんはスプレッドシートが圧倒的にラクでミスも減ります!

    Googleアカウントの設定方法:
    iPhoneだけでGoogleアカウント登録&パスキー設定ガイド

    ChatGPTをもっと上手く使いたい方:
    ChatGPTのズレを防ぐ質問のコツ
    ChatGPTに名前を付けたら学習効率UP?

    Google Colabで動かしてみよう!

    準備した「todo.csv」をColabにアップロードします。

    フォルダアイコンをクリックしてGoogle Colabにファイルをアップロードする
    Google Colabにファイルをアップロードする

    以下のコードを実行してみましょう。

    import csv
    import datetime
    
    FILENAME = 'todo.csv'
    
    today = datetime.date.today().isoformat()
    
    def read_todos():
        todos = []
        try:
            with open(FILENAME, newline='') as csvfile:
                reader = csv.DictReader(csvfile)
                for row in reader:
                    if row['date'] == today:
                        todos.append(row)
        except FileNotFoundError:
            print("TODOファイルが見つかりません")
        return todos
    
    def show_today():
        todos = read_todos()
        print("=== 今日の予定 ===")
        for todo in todos:
            print(f"・{todo['task']} ({todo['memo']})")
    
    show_today()

    # 実行結果
    === 今日の予定 ===
    ・記事を書く (午前中に終わらせたい)
    ・お買い物 (夕飯の材料を忘れずに)

    Google ColabでToDoリスト処理を実行する
    Google Colab実行画面
    ハナマルコ

    今日の予定だけが抜き出された!

    コードのポイント解説

    • datetime.date.today().isoformat():今日の日付を「2025-06-15」の形式で取得!
    • csv.DictReader:CSVファイルを辞書形式で読み込めて便利!
    • if row['date'] == today::今日の予定だけを抽出する条件文!
    • try〜except:ファイルが見つからないときでも、エラーで止まらず優しくメッセージ表示!

    ハナマルコのつまづきメモ

    • 「CSVってどう作るの?」→ スプレッドシートで入力してCSV形式で保存!
    • 「Colabにアップする方法が分からない」→ 左側のフォルダアイコンをクリック→ファイルをドラッグするだけ!
    • 「日付の書き方でミス?」→ YYYY-MM-DD(例:2025-06-15)の形式で統一!
    • 「予定が表示されない!」→ ファイル名・カラム名のスペルをチェック!(task, date, memo)

    今後に向けてのアイデア

    今回のツールはかなり便利!でも、さらに進化させたい欲も…

    • 予定を追加・削除できる簡単なアプリ化
    • メールやLINEで今日の予定を通知
    • カテゴリー別に色分け
    • 重要度や締切日を管理できるようにする

    このあたりも、今後の実践シリーズで挑戦していきたいです♪

    まとめ

    今日は「Googleスプレッドシートで予定を管理して、Google Colabで今日のTODOを表示する」仕組みを作ってみました。

    • スプレッドシートで予定を入力(task, date, memo)
    • CSV形式でダウンロードし、Colabにアップロード
    • Pythonコードで「今日のやること」だけを自動表示!

    毎朝Google Colabを開くだけで、「今日は何をやるんだっけ?」がサクッと確認できるって最高です。

    最後まで読んでいただき、ありがとうございました!

    次回もお楽しみに!さらに便利なツールを作っていきます。

    さらなるスキルアップのために、ChatGPT活用術をマスターしよう:
    ChatGPT、Gemini、Claude比較!初心者向け使い分けガイド
    ChatGPTに名前を付けたら学習効率UP?
    ChatGPTのズレを防ぐ質問のコツ

    セキュリティも重要:
    iPhoneだけでGoogleアカウント登録&パスキー設定ガイド
    Googleが急ぐパスキーの理由を初心者向けに解説

    当ブログは基本的にリンクフリーです。リンクを行う場合の許可や連絡は不要です。

    PythonとスプレッドシートでTODO管理 ハナマルコとチャッピー先生 アイキャッチ

    この記事が気に入ったら
    いいね または フォローしてね!

    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!
    読みたいところに飛べる目次