Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel読み込み

Python Python
スポンサーリンク
  1. Excel読み込みは「ExcelデータをPythonで扱える形に変換する」ための最初の一歩
  2. pandasでExcelを読み込む基本(最も簡単で実務向け)
    1. Excelを1行で読み込むテンプレート
    2. 深掘りポイント
  3. シート名を指定して読み込む(複数シート対応)
    1. 特定のシートだけ読み込みたい場合
    2. 深掘りポイント
  4. シート一覧を取得する(どのシートがあるか確認)
    1. Excelのシート名を全部確認する
    2. 深掘りポイント
  5. 複数シートをまとめて読み込む(辞書形式)
    1. 全シートを一括で読み込むテンプレート
    2. 深掘りポイント
  6. 特定の列だけ読み込む(不要な列を除外)
    1. 必要な列だけ読み込むテンプレート
    2. 深掘りポイント
  7. 行をスキップして読み込む(ヘッダーが複数行の場合)
    1. 上から2行をスキップして読み込む
    2. 深掘りポイント
  8. ヘッダー行を指定して読み込む(表が途中から始まる場合)
    1. 3行目をヘッダーとして読み込む
    2. 深掘りポイント
  9. 例題①:売上データを読み込んで合計を計算する
    1. シナリオ
    2. 深掘りポイント
  10. 例題②:複数シートの売上をまとめて読み込む
    1. シナリオ
    2. 深掘りポイント
  11. 例題③:最新のExcelファイルを自動検出して読み込む
    1. シナリオ
    2. 深掘りポイント
  12. pathlib を使った読みやすいExcel読み込み
    1. Pathオブジェクトで直感的に書ける
    2. メリット
  13. 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」にも対応できる
  • 最新ファイル検出と組み合わせると自動化が強力になる
  • 読み込んだ後は集計・加工・レポート生成など自由自在

タイトルとURLをコピーしました