この記事のレベル
難易度 | |
実用性 | |
学習コスト |
- Pythonで
.xlsx
形式のExcelファイルを読み込む方法 openpyxl
ライブラリの基本的な使い方

この記事はこんな人におすすめ!
- Pythonを使ってExcel操作を自動化したい人
openpyxl
を使ったExcel操作を初めて学ぶ人- データ集計や店舗別レポート作成を効率化したい業務担当者・エンジニア
はじめに
PythonでExcelファイルを操作できるようになると、日々のルーチン業務を自動化したり、作業時間を大幅に短縮したりすることができます。
たとえば、以下のような業務フローがPythonコードで簡単に実現できます。
- 売上管理表(Excelファイル)を読み込み
- 特定の店舗(例:東京店)のデータを抽出
- 抽出結果に合計行やコメントなどを書き込み
- 日付付きファイル名で新しいExcelファイルを出力

今回は、実際に「東京店の売上データを抽出・加工してレポートを自動作成する」例を交えながら、PythonでExcelファイルを操作する方法を4つの記事に分けて説明します。
本記事ではこの中から、Leeson 1 「Excelファイルの読み込み方法」について詳しく紹介します。
Lesson No | 学べる事 | 記事URL |
1 | Excelファイルの読み込み方法 | https://takata.website/python-excel-read/ |
2 | 条件を満たすデータの抽出方法 | https://takata.website/python-excel-filter/ |
3 | Excelへのデータの書き込み方法 | https://takata.website/python-excel-write/ |
4 | 加工済みデータのExcelファイル出力方法 | https://takata.website/python-excel-export/ |
まずは全体のコードを確認しよう
まずは、Lesson1~4で学ぶコードの全体像を把握しましょう。以下のコードによりExcelの読み込みから加工、保存までを一気に自動化することができます。
とはいえ、はじめて見ると「何をやっているのかよくわからない…」と感じる方もいると思います。
次の章でExcelファイルの読み込み方法について詳しく紹介していきますのでご安心を!
import openpyxl
from openpyxl import Workbook
from datetime import date
# ----------------------------------------
# Lesson 1:Excelファイルの読み込み
# ----------------------------------------
wb = openpyxl.load_workbook("zenkoku_sales_data.xlsx")
ws = wb.active
# ----------------------------------------
# Lesson 2:条件を満たすデータの抽出
# (ヘッダー行:3行目、データ:4行目~)
# ----------------------------------------
header = [cell.value for cell in ws[3]] # 3行目のヘッダー取得
filtered_rows = []
for row in ws.iter_rows(min_row=4, values_only=True): # データは4行目以降
if row[1] == "東京店": # B列(店舗名)が「東京店」
filtered_rows.append(list(row)) # 値をリスト形式で保存
# ----------------------------------------
# Lesson 3:データの整形とシートへの書き込み
# (備考列、合計行の追加/Excelシートへ書き込み)
# ----------------------------------------
# 備考列の追加
header.append("備考")
for row in filtered_rows:
row.append("") # 備考欄は空欄
# 合計計算
total_quantity = sum(row[3] for row in filtered_rows) # D列:売上数量
total_amount = sum(row[4] for row in filtered_rows) # E列:売上金額
# 合計行の追加
filtered_rows.append(["", "東京店", "合計", total_quantity, total_amount, "自動集計行"])
# 新しいブックとシート作成
new_wb = Workbook()
new_ws = new_wb.active
new_ws.title = "東京店レポート"
# ヘッダー行の書き込み
new_ws.append(header)
# データ行の書き込み
for row in filtered_rows:
new_ws.append(row)
# ----------------------------------------
# Lesson 4:Excelファイルの出力(保存処理)
# ----------------------------------------
today = date.today().strftime("%Y%m%d")
store_name = "東京店"
filename = f"{today}_{store_name}_sales_data.xlsx"
new_wb.save(filename)
print(f"レポートを保存しました: {filename}")
Excelファイルの読み込み方法
openpyxlのインストール
実際のLessonに入る前に、まだopenpyxl
をインストールしていない方は、以下のコマンドでインストールしてください。
pip install openpyxl

openpyxl は、Pythonで .xlsx 形式のExcelファイルを読み書きするためのライブラリです。
セルの値を取得したり、シートを編集したり、ファイルを新しく保存したりと、Excel業務を自動化するための機能が揃っています。
Excelファイルを読み込む基本コード
では、ここからは実際にExcelファイルを読み込む方法を解説していきます。
今回は、以下のようなデータが記録された zenkoku_sales_data.xlsx
というファイルを読み込むことを想定しています。

import openpyxl
# Excelファイルを読み込む
wb = openpyxl.load_workbook("zenkoku_sales_data.xlsx")
# 最初のシート(アクティブなシート)を取得
ws = wb.active
wb = openpyxl.load_workbook("zenkoku_sales_data.xlsx")
- このコードは、zenkoku_sales_data.xlsx という Excelファイル全体 を開いて、wb という変数に代入しています。
- wb は「ファイルを開いた状態のオブジェクト」だと思ってOKです。
ws = wb.active
- このコードは、wb(開いたファイル)の中のアクティブなシート(通常は一番最初のシート)を取得して、ws に代入しています。
- ws は、1シートを操作するための変数です。
まとめ
今回は、Pythonの openpyxl
ライブラリを使って、Excelファイルを読み込む方法を解説しました。
読み込み処理は、すべてのExcel操作の出発点です。以下のような基本操作を押さえておくことで、今後の自動化処理やデータ加工の土台ができます。
openpyxl
を使えば.xlsx
形式のExcelを簡単に読み込めるload_workbook()
でExcelファイル全体を読み込むwb.active
でアクティブなシート(最初のシート)を取得できる
Lesson 2では、読み込んだExcelデータの中から、「東京店」だけの売上データを抽出する方法を詳しく紹介します。
条件に合ったデータだけを取り出せるようになると、店舗別の売上集計や、部署別の分析資料の自動生成など、実務レベルで役立つスキルがぐっと広がります。
Lesson No | 学べる事 | 記事URL |
1 | Excelファイルの読み込み方法 | https://takata.website/python-excel-read/ |
2 | 条件を満たすデータの抽出方法 | https://takata.website/python-excel-filter/ |
3 | Excelへのデータの書き込み方法 | https://takata.website/python-excel-write/ |
4 | 加工済みデータのExcelファイル出力方法 | https://takata.website/python-excel-export/ |
さらに学びたい方へ
「ワンランク上のビジネススキルを身につけたい」
そんな方に注目されているのが、オンライン学習サービスです。
中でも特におすすめなのが、人気の2大サービスSchoo(スクー)
とUdemy(ユーデミー)
。
特徴や違いを比較しながら、あなたに合った選び方をわかりやすく解説します。
SchooとUdemyの特徴は?
あなたに向いているのはSchoo?Udemy?
- まずは無料で試してみたい人
- 月額定額で色んな講座を受けたい人
- ビジネススキル全般を学びたい人
- 隙間時間でスキルアップしたい人
- 講座単位で支払いをしたい人
- 特定の知識・スキルを学びたい人
- 学習の時間を集中的に確保できる人
コメント