XEROTTA

新入社員の学び / IT初級者 / 講座9

IT FOUNDATION / COURSE 09

プログラミング基礎

PythonでCSV集計・ファイル整理・ログ分析を作り、入力・処理・出力とエラーをテストで確認する。

アニメと具体例手順付き演習成果物とレビュー解説付き確認問題

まずは、図でつかもう

1 / 4

矢印を追い、各ポイントを押して確認しましょう。

01 / IT FOUNDATION

この講座で、何をできるようにするか。

PythonでCSV集計・ファイル整理・ログ分析を作り、入力・処理・出力とエラーをテストで確認する。

目安36時間。説明・調査・演習・成果物作成・レビューを含む学習計画です。本文を読むだけでこの時間の実習を完了したことにはなりません。進み方と経験に応じて調整します。

学習目標と確認ポイント詳しく見る
  • 変数・型・式を説明し、型変換の実験ノートを作る。
  • 条件分岐と反復を説明し、条件と期待結果の表を作る。
  • 関数・リスト・辞書を説明し、再利用できる集計関数を作る。
  • 例外とデバッグを説明し、エラー再現と修正の記録を作る。
  • ファイル処理とライブラリを説明し、CSV集計と整理計画ツールを作る。
  • ログ分析と仕上げを説明し、3ツールと実行説明書を作る。
開始前の準備

ブラウザーで本文・アニメ・問題を確認できます。実機演習は会社が用意した学習環境を使い、Python・Linux・Git・DB等の準備状況を確認してから進めます。

演習ファイルを先に準備する

Python・SQL・ログ・架空パケット表・テスト・APIのスターターと説明書を同梱しています。APIは認証・認可等を受講者が追加する未完成の学習用で、公開用完成品ではありません。

共通演習キットをダウンロード
プログラミング基礎の学習内容を表した仕組みのイメージ図

02 / IT FOUNDATION

仕組みを理解し、手を動かして確かめる。

1. 変数・型・式2. 条件分岐と反復3. 関数・リスト・辞書4. 例外とデバッグ5. ファイル処理とライブラリ6. ログ分析と仕上げ

変数・型・式

詳しく見る

学習ブロック 1 / 目安6時間(説明・調査・演習・記録・レビュー)

変数は値を扱う名前で、文字列、整数、浮動小数点、真偽値などには異なる性質があります。CSVから読んだ数字も最初は文字列として扱われることがあり、変換を明示します。金額などでは計算方法と丸めの条件も決めます。

具体例と実習手順

data/sales.csvのamountを読み、文字列の連結と整数の加算を比べる。不正値の行番号を出す。

残す成果物:型変換の実験ノート

前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。

条件分岐と反復

詳しく見る

学習ブロック 2 / 目安6時間(説明・調査・演習・記録・レビュー)

ifは条件に応じて処理を分け、forは要素を順に扱います。条件の順序やインデントで結果が変わります。空の入力、0、境界の値がどの分岐へ入るかを手で追ってから実行します。

具体例と実習手順

金額が0、正、負、空欄の4ケースを分け、採用・除外・エラーのルールを実装する。

残す成果物:条件と期待結果の表

前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。

関数・リスト・辞書

詳しく見る

学習ブロック 3 / 目安6時間(説明・調査・演習・記録・レビュー)

関数は処理を入力と戻り値で区切り、重複を減らします。リストは順序ある要素、辞書はキーに対応する値を扱います。集計では商品名をキーにして合計し、計算部分をファイル入出力から分けるとテストしやすくなります。

具体例と実習手順

合計関数を作り、同梱のsales_summary.pyと結果を比較する。商品別の辞書を並べ替えて出力する。

残す成果物:再利用できる集計関数

前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。

例外とデバッグ

詳しく見る

学習ブロック 4 / 目安6時間(説明・調査・演習・記録・レビュー)

例外は処理を続けられない状態等を伝えます。例外の種類、行、呼び出し元を読み、すべてを握りつぶして成功と表示しないようにします。入力と期待結果を小さくして再現し、原因を一つずつ確かめます。

具体例と実習手順

わざと金額の文字列を混ぜ、ValueErrorの発生箇所を読む。行番号付きの説明に変え、正しい行の扱いを仕様で決める。

残す成果物:エラー再現と修正の記録

前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。

ファイル処理とライブラリ

詳しく見る

学習ブロック 5 / 目安6時間(説明・調査・演習・記録・レビュー)

withでファイルを扱い、文字コードと改行を明示します。CSVはカンマで単純に分割すると引用符や改行を含む項目を誤るため、csvモジュール等を利用します。標準ライブラリと外部ライブラリ、実行環境の依存関係も分けます。

具体例と実習手順

キットのCSVをcsv.DictReaderで読み、UTF-8の出力ファイルを作る。ファイル整理はまず移動案だけを表示するdry-runにする。

残す成果物:CSV集計と整理計画ツール

前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。

ログ分析と仕上げ

詳しく見る

学習ブロック 6 / 目安6時間(説明・調査・演習・記録・レビュー)

ログから状態や件数を集計するときは、欠損、形式、時刻、単位、個人情報の扱いを考えます。小さな既知データで正しい結果を確認し、使い方と制約をREADMEへ書きます。動いた一例だけで全入力の正しさを判断しません。

具体例と実習手順

app.logからERROR行を抽出し、原因の分類別件数を出す。空ファイル・該当0件・不正行をテストする。

残す成果物:3ツールと実行説明書

前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。

CSV集計を実行し、値を検算する

python3 sales_summary.py
notebook: 1500
pen: 1000
TOTAL: 2500

関数の中心:
quantity = int(row["quantity"])
price = int(row["unit_price"])
totals[item] = totals.get(item, 0) + quantity * price

課題:不正な金額、空ファイル、未知の商品を追加し、仕様とテストを決める。
完成例を見る前に、4行の元データで手計算する。

03 / IT FOUNDATION

仕事のアニメ:プログラミング基礎を考える。

新人・アオイさんと先輩・ミナトさんの会話で、「プログラミング基礎」を学びます。最初の場面は「変数は値を扱う名前で、文字列、整数、浮動小数点、真偽値などには異なる性質があります。」。何を確かめ、どう対応するかを順に見ていきましょう。

変数・型・式1 / 6
アオイ

変数は値を扱う名前で、文字列、整数、浮動小数点、真偽値などには異なる性質があります。

学習ポイント:型変換の実験ノート

約12秒ごとに場面が切り替わります。再生中も一時停止でき、「前へ」「次へ」で自分のペースで読めます。最終場面で停止します。

アニメの内容をまとめて文章で読む

1. 変数・型・式

アオイ:変数は値を扱う名前で、文字列、整数、浮動小数点、真偽値などには異なる性質があります。

学習ポイント:型変換の実験ノート

2. 条件分岐と反復

ミナト:ifは条件に応じて処理を分け、forは要素を順に扱います。

学習ポイント:条件と期待結果の表

3. 関数・リスト・辞書

アオイ:関数は処理を入力と戻り値で区切り、重複を減らします。

学習ポイント:再利用できる集計関数

4. 例外とデバッグ

ミナト:例外は処理を続けられない状態等を伝えます。

学習ポイント:エラー再現と修正の記録

5. ファイル処理とライブラリ

アオイ:withでファイルを扱い、文字コードと改行を明示します。

学習ポイント:CSV集計と整理計画ツール

6. ログ分析と仕上げ

ミナト:ログから状態や件数を集計するときは、欠損、形式、時刻、単位、個人情報の扱いを考えます。

学習ポイント:3ツールと実行説明書

04 / IT FOUNDATION

演習を完成させ、成果物をレビューする。

演習1

CSVの商品別金額と不正行数を集計し、期待値と照合する。

  1. 対象・環境・入力データ・期待結果を記録する。
  2. 上の解説と各ブロックの実習手順を使って作業する。
  3. 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
  4. 成果物・再現手順・分かったこと・未確認を残してレビューする。

演習2

ファイルを実際に動かす前に、変更予定一覧を出す整理ツールを作る。

  1. 対象・環境・入力データ・期待結果を記録する。
  2. 上の解説と各ブロックの実習手順を使って作業する。
  3. 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
  4. 成果物・再現手順・分かったこと・未確認を残してレビューする。

演習3

ログ分析ツールへ不正行と空入力を渡し、例外と結果を確認する。

  1. 対象・環境・入力データ・期待結果を記録する。
  2. 上の解説と各ブロックの実習手順を使って作業する。
  3. 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
  4. 成果物・再現手順・分かったこと・未確認を残してレビューする。
レビューで確かめること

正しい用語で説明できるか/入力と結果が対応しているか/正常だけでなく失敗する条件も扱ったか/他の人が再現できるか/残る課題を隠していないか。

05 / IT FOUNDATION

確認問題:答えより、理由を説明する。

全5問。選ぶと解説が表示されます。何度でも選び直せます。

回答済み 0 / 5問

06 / IT FOUNDATION

成果物を残し、理解と未確認を分ける。

架空データを使い、根拠と結果を自分の言葉でまとめます。回答とメモは自動保存・外部送信しません。残したい内容はコピーするか、成果物ファイルへ記入してください。

07 / IT FOUNDATION

説明・実装・記録を、一つの成果へつなげる。

PythonでCSV集計・ファイル整理・ログ分析を作り、入力・処理・出力とエラーをテストで確認する。

  • 型変換の実験ノート
  • 条件と期待結果の表
  • 再利用できる集計関数
  • エラー再現と修正の記録
  • CSV集計と整理計画ツール
  • 3ツールと実行説明書

08 / IT FOUNDATION

公式資料・確認先