- Excel読み込みは「ExcelデータをPythonで扱える形に変換する」ための最初の一歩
- pandasでExcelを読み込む基本(最も簡単で実務向け)
- シート名を指定して読み込む(複数シート対応)
- シート一覧を取得する(どのシートがあるか確認)
- 複数シートをまとめて読み込む(辞書形式)
- 特定の列だけ読み込む(不要な列を除外)
- 行をスキップして読み込む(ヘッダーが複数行の場合)
- ヘッダー行を指定して読み込む(表が途中から始まる場合)
- 例題①:売上データを読み込んで合計を計算する
- 例題②:複数シートの売上をまとめて読み込む
- 例題③:最新のExcelファイルを自動検出して読み込む
- pathlib を使った読みやすいExcel読み込み
- Excel読み込みを業務で設計するときの視点
Excel読み込みは「ExcelデータをPythonで扱える形に変換する」ための最初の一歩
Excel業務自動化の入口は ExcelファイルをPythonで読み込むこと です。
読み込んでしまえば、あとは集計・加工・抽出・レポート生成など、ほぼ無限に自動化できます。
PythonでExcelを扱う方法はいくつかありますが、最も初心者に優しいのは pandas を使う方法です。
ここでは、基本から実務テンプレートまで、丁寧にかみ砕いて解説します。
pandasでExcelを読み込む基本(最も簡単で実務向け)
Excelを1行で読み込むテンプレート
import pandas as pd
df = pd.read_excel("data.xlsx")
print(df)
Python深掘りポイント
read_excel()はExcelを「表形式のデータ(DataFrame)」として読み込む- DataFrameはExcelの表とほぼ同じ感覚で扱える
print(df)で中身を確認できるため初心者でも安心
シート名を指定して読み込む(複数シート対応)
特定のシートだけ読み込みたい場合
df = pd.read_excel("data.xlsx", sheet_name="売上")
print(df)
Python深掘りポイント
- Excelには複数シートがあるため、業務ではシート指定が必須
sheet_nameに文字列を渡すだけでOK- シート名が分からない場合は一覧取得も可能
シート一覧を取得する(どのシートがあるか確認)
Excelのシート名を全部確認する
import pandas as pd
xls = pd.ExcelFile("data.xlsx")
print(xls.sheet_names)
Python深掘りポイント
- シート名が不明なExcelを扱うときに便利
ExcelFileは読み込みを効率化する仕組み
複数シートをまとめて読み込む(辞書形式)
全シートを一括で読み込むテンプレート
dfs = pd.read_excel("data.xlsx", sheet_name=None)
for name, df in dfs.items():
print("シート:", name)
print(df.head())
Python深掘りポイント
sheet_name=Noneで「全シート読み込み」- 結果は
{シート名: DataFrame}の辞書になる - 複数シートを一括処理する業務で非常に便利
特定の列だけ読み込む(不要な列を除外)
必要な列だけ読み込むテンプレート
df = pd.read_excel("data.xlsx", usecols=["商品名", "数量", "金額"])
print(df)
Python深掘りポイント
- Excelが巨大な場合、必要な列だけ読み込むと高速
usecolsは列名でも列番号でも指定可能- データ加工の前処理としてよく使う
行をスキップして読み込む(ヘッダーが複数行の場合)
上から2行をスキップして読み込む
df = pd.read_excel("data.xlsx", skiprows=2)
print(df)
Python深掘りポイント
- Excelの上部に説明文がある場合に便利
skiprowsはリストで複数行指定も可能- 実務では「ヘッダーが1行目ではないExcel」がよくある
ヘッダー行を指定して読み込む(表が途中から始まる場合)
3行目をヘッダーとして読み込む
df = pd.read_excel("data.xlsx", header=2)
print(df)
Python深掘りポイント
header=2は「0始まり」なので3行目- 表が途中から始まるExcelに対応できる
- データ整形の手間が大幅に減る
例題①:売上データを読み込んで合計を計算する
シナリオ
売上.xlsx の「売上」シートを読み込み、金額合計を出したい。
import pandas as pd
df = pd.read_excel("売上.xlsx", sheet_name="売上")
print("売上合計:", df["金額"].sum())
Python深掘りポイント
- 読み込んだ瞬間に集計できるのがPythonの強み
- ExcelでSUM関数を使うより圧倒的に高速
例題②:複数シートの売上をまとめて読み込む
シナリオ
各店舗の売上がシートごとに分かれているExcelを一括処理したい。
dfs = pd.read_excel("店舗売上.xlsx", sheet_name=None)
total = 0
for name, df in dfs.items():
total += df["売上"].sum()
print("全店舗売上:", total)
Python深掘りポイント
- シートごとに店舗が分かれているExcelは実務でよくある
sheet_name=Noneで一括処理できるのが強力
例題③:最新のExcelファイルを自動検出して読み込む
シナリオ
ダウンロードフォルダにある最新のExcelを読み込みたい。
import os
import pandas as pd
folder = "downloads"
files = [os.path.join(folder, f) for f in os.listdir(folder) if f.endswith(".xlsx")]
latest = max(files, key=os.path.getmtime)
df = pd.read_excel(latest)
print(df.head())
Python深掘りポイント
- 「最新ファイルを自動処理」は業務自動化で非常に重要
- 更新日時で判定するため確実
pathlib を使った読みやすいExcel読み込み
Pathオブジェクトで直感的に書ける
from pathlib import Path
import pandas as pd
path = Path("data.xlsx")
df = pd.read_excel(path)
print(df)
Pythonメリット
- パス結合が
/で直感的 Pathは保守性が高く、業務コードに向いている
Excel読み込みを業務で設計するときの視点
- シート名の指定は必須(複数シートがあるため)
- 不要な列を読み込まないことで高速化できる
- ヘッダー行やスキップ行の調整で「汚いExcel」にも対応できる
- 最新ファイル検出と組み合わせると自動化が強力になる
- 読み込んだ後は集計・加工・レポート生成など自由自在

