早見表
書き方を、
1ページで見返す。
「やりたいこと」から探せる早見表です。覚えるためのものではなく、思い出すためのものです。各項目の「Lesson 番号」のリンクから、くわしい説明のレッスンに戻れます。 コードの中の df は pandas の表、pd は pandas、np は numpy のことです。
CHAPTER 1書き方を一段上げる
条件に合うものだけでリストを作る
Lesson 01[s for s in sales if s >= 300000]全部を変換したリストを作る
Lesson 01[s // 10000 for s in sales]条件で2通りに分ける
Lesson 01["達成" if s >= 300000 else "未達" for s in sales]金額に桁区切りを付ける
Lesson 02f"{amount:,}円" # 1,234,567円ゼロ埋め・桁そろえ・パーセント
Lesson 02f"{n:05d}" f"{text:>10}" f"{rate:.1%}"全角・半角をそろえる
Lesson 02import unicodedata unicodedata.normalize("NFKC", text)文字を日付にする/日付を文字にする
Lesson 03from datetime import datetime d = datetime.strptime("2025-09-30", "%Y-%m-%d").date() d.strftime("%Y年%m月%d日")日数の差を出す
Lesson 03(date2 - date1).days月末の日を出す
Lesson 03import calendar calendar.monthrange(2025, 2)[1] # 28端数を切り捨てる(お金)
Lesson 04from decimal import Decimal, ROUND_DOWN Decimal("1234.5").quantize(Decimal("1"), rounding=ROUND_DOWN)金額の大きい順に並べる
Lesson 05sorted(rows, key=lambda r: r["金額"], reverse=True)2つのリストを組み合わせる/番号を付ける
Lesson 05zip(names, amounts) enumerate(items, start=1)
CHAPTER 2データ構造を使いこなす
出現回数を数える
Lesson 06from collections import Counter Counter(items).most_common(3)ないキーでも止まらず、既定値を返す
Lesson 06totals.get(key, 0)キーごとに足し込む
Lesson 06from collections import defaultdict totals = defaultdict(int) totals[key] += amount2つの一覧の差・共通部分
Lesson 07set(billed) - set(paid) # 差 set(a) & set(b) # 共通入れ子のデータから取り出す
Lesson 08order["customer"]["name"] order.get("memo")
CHAPTER 3エラーに強いコード
CHAPTER 4コードを整理して育てる
CHAPTER 5ファイルとテキストの実践
フォルダの中のファイルを探す
Lesson 18from pathlib import Path for p in Path("invoices").glob("*.txt"): print(p.stem)Excelで文字化けしないCSVを書く
Lesson 19open("out.csv", "w", newline="", encoding="utf-8-sig")JSONを読みやすく書き出す
Lesson 19json.dumps(data, ensure_ascii=False, indent=2)文章から請求番号を取り出す
Lesson 20import re re.search(r"INV-\d{4}-\d{4}", text)ファイルを1行ずつ流して処理する
Lesson 21with open("app.log", encoding="utf-8") as f: errors = (line for line in f if "ERROR" in line)
CHAPTER 6pandas を一歩進める
文字を数値にする(変換できないものは空欄に)
Lesson 22pd.to_numeric(df["金額"], errors="coerce")欠損の数を確認する
Lesson 22df.isna().sum()表と表を結合する(VLOOKUPの代わり)
Lesson 23pd.merge(sales, customers, on="得意先コード", how="left")クロス集計(ピボットテーブル)
Lesson 24df.pivot_table(index="地域", columns="商品名", values="金額", aggfunc="sum")月ごとに集計する
Lesson 25df.groupby(df["日付"].dt.to_period("M"))["金額"].sum()条件で値を入れ分ける(IFの代わり)
Lesson 26np.where(df["金額"] >= 100000, "高額", "通常")複数シートのExcelを書き出す
Lesson 27with pd.ExcelWriter("report.xlsx") as w: summary.to_excel(w, sheet_name="集計", index=False)
CHAPTER 7品質を守る
CHAPTER 8仕事で使える形にする
仮想環境を作って有効にする(Windows)
Lesson 30python -m venv .venv .venv\Scripts\activate必要な道具を入れる/書き出す
Lesson 30pip install pandas openpyxl pip freeze > requirements.txtコマンドから条件を渡す
Lesson 31import argparse parser = argparse.ArgumentParser() parser.add_argument("--month") args = parser.parse_args()パスワードやキーを、環境変数から読む
Lesson 32import os key = os.environ["API_KEY"]APIを呼ぶ(自分のパソコンで)
Lesson 33import requests r = requests.get(url, headers=headers, timeout=10) r.raise_for_status() data = r.json()