カテゴリ: Python 更新日: 2025/12/11

PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方

PythonでExcel(xlsx)ファイルを操作する方法(openpyxl / pandas の活用)
PythonでExcel(xlsx)ファイルを操作する方法(openpyxl / pandas の活用)

先生と生徒の会話形式で理解しよう

生徒

「PythonでExcelファイルを読み取ったり書き込んだりってできますか?表計算ソフトみたいに使いたいです。」

先生

「もちろんできますよ。Pythonにはopenpyxlpandasという便利なモジュールがあり、Excel(.xlsx)ファイルを操作できます。」

生徒

「そうなんですね!でもパソコンもPythonも初心者で、不安です…」

先生

「心配いりません。これからわかりやすく丁寧に、Excelファイルの読み書き方法を基礎から解説していきますね。」

-

1. Excelファイル(.xlsx)とは?

1. Excelファイル(.xlsx)とは?
1. Excelファイル(.xlsx)とは?

Excelファイルとは、Microsoft Excelで使われる表計算ソフトのファイル形式のことです。表(テーブル)を作って、データを並べたり計算したりするのに使われます。

Pythonでは、拡張子が.xlsxのファイルを操作できます。.xlsは古い形式なので、基本的には.xlsxを使いましょう。

2. PythonでExcelを操作するための準備

2. PythonでExcelを操作するための準備
2. PythonでExcelを操作するための準備

PythonでExcelファイルを読み書きするには、まずopenpyxlpandasというモジュールをインストールします。以下のように入力します。


pip install openpyxl pandas

openpyxlはExcelファイルを細かく操作するのに使われ、pandasはデータを表形式で扱える便利なツールです。

3. openpyxlでExcelファイルを読み込む方法

3. openpyxlでExcelファイルを読み込む方法
3. openpyxlでExcelファイルを読み込む方法

まずはopenpyxlを使って、既存のExcelファイルを開いて内容を表示してみましょう。


import openpyxl

workbook = openpyxl.load_workbook('sample.xlsx')
sheet = workbook.active

print(sheet['A1'].value)

load_workbook()でファイルを開き、sheet['A1'].valueでA1セルの値を取得します。簡単にセルの中身が読めるのがポイントです。

4. openpyxlでExcelに書き込む方法

4. openpyxlでExcelに書き込む方法
4. openpyxlでExcelに書き込む方法

次に、Excelファイルに新しいデータを書き込んで保存する方法です。


import openpyxl

workbook = openpyxl.Workbook()
sheet = workbook.active

sheet['A1'] = '名前'
sheet['B1'] = '年齢'
sheet['A2'] = '田中'
sheet['B2'] = 28

workbook.save('output.xlsx')

Workbook()で新しいExcelファイルを作成し、セルに直接値を代入してsave()で保存します。保存後はExcelで開いて確認できます。

-

5. pandasでExcelを読み込む方法

5. pandasでExcelを読み込む方法
5. pandasでExcelを読み込む方法

pandasを使うと、Excelの表をまとめて読み込んで、表形式(DataFrame)として扱えます。大量のデータでも効率よく処理できます。


import pandas as pd

df = pd.read_excel('sample.xlsx')
print(df)

read_excel()を使えば、1行ずつ読み込まずに表全体を一気に取得できます。表示も表形式でとても見やすいです。

6. pandasでExcelに書き込む方法

6. pandasでExcelに書き込む方法
6. pandasでExcelに書き込む方法

pandasで新しくデータを作って、それをExcelファイルに保存する方法を紹介します。


import pandas as pd

data = {
    '名前': ['佐藤', '鈴木'],
    '年齢': [34, 29]
}

df = pd.DataFrame(data)
df.to_excel('people.xlsx', index=False)

DataFrameで表を作り、to_excel()でファイルに保存します。index=Falseは行番号をExcelに書き出さないための設定です。

7. Excelのシート名を指定して読み込むには?

7. Excelのシート名を指定して読み込むには?
7. Excelのシート名を指定して読み込むには?

1つのExcelファイルに複数のシート(タブ)がある場合、特定のシートを指定して読み込むこともできます。


import pandas as pd

df = pd.read_excel('multi_sheet.xlsx', sheet_name='社員一覧')
print(df)

sheet_name=に読みたいシート名を指定すれば、目的の表だけを取り出すことができます。

8. Excelファイルを編集して上書き保存する方法

8. Excelファイルを編集して上書き保存する方法
8. Excelファイルを編集して上書き保存する方法

すでにあるExcelファイルの中身を変更したい場合は、openpyxlで読み込んでから編集して保存します。


import openpyxl

workbook = openpyxl.load_workbook('output.xlsx')
sheet = workbook.active

sheet['B2'] = 30
workbook.save('output.xlsx')

このように、指定したセルの値を変更して、同じファイル名で保存すれば上書きが完了します。

9. Excelファイル操作時の注意点

9. Excelファイル操作時の注意点
9. Excelファイル操作時の注意点

初心者がExcelファイルをPythonで操作するときに気をつけたいポイントを紹介します。

  • Excelを開いたままだと保存できないことがあるので、操作前に閉じておく
  • 文字コードの関係でエラーが出るときは、encoding='utf-8'を明示する
  • 拡張子が.xlsxでないとエラーになることがある(.xlsは非対応)
  • ファイル名に日本語や記号を含めると保存時に失敗することがある

基本さえ押さえれば、PythonでのExcel操作はとても簡単で便利です。

まとめ

まとめ
まとめ

PythonでExcelファイル(.xlsx)を扱う知識は、業務効率化やデータ分析の基本として非常に役に立ちます。openpyxlを使えば細かいセル単位の編集や新規ファイルの作成ができ、pandasを使えば大量のデータを一気に読み込んで加工できるため、Excelを手作業で触るよりも圧倒的に効率よく作業が進みます。Excelの表をPythonで扱えるようになることで、毎日の作業や事務処理、データの整理が自動化でき、作業時間の短縮にもつながります。また、複数のシートを扱う場合でも、シート名を指定して読み込めるため、複雑なExcelファイルでも柔軟にデータを取得できます。 PythonでExcelを扱うための基礎は、「ファイルを読み込む」「データを取り出す」「値を書き込む」「編集して保存する」の4つです。openpyxlではセルの値を直接指定できるほか、Workbookオブジェクトを使って空のファイルを作成できます。pandasではDataFrameという表形式のデータを中心に操作でき、Excelの表をそのままプログラム内で扱うのに最適です。特にpandasは、読み込み・加工・書き出しが非常にスピーディで、表計算の自動処理を行いたいときには欠かせないライブラリです。 ExcelファイルをPythonで扱うときに気をつけたい点としては、ファイルを開いたままにしておかないこと、正しい拡張子で保存すること、文字コードを適切に扱うこと、ファイル名の扱いに注意することなどがあります。これらを押さえておけば、初心者でも難しいと感じることなく、Excelファイルの操作をスムーズに行えるようになります。 Excelのセルを指定する方法、シートを切り替える方法、DataFrameからExcelへの出力方法などは、実際に手を動かして試すことで理解がさらに深まります。特にopenpyxlとpandasの両方を使い分けられるようになると、小規模から大規模までさまざまなExcel業務に対応でき、データ処理の幅が大きく広がります。自動化の第一歩として、今回の内容を何度も試しながら手に馴染ませていくことが大切です。

サンプルプログラム(まとめ用のExcel操作一式)

Excelファイルを新規作成し、書き込み・読み込み・編集までをまとめて行う例です。


import openpyxl
import pandas as pd

# 1. 新しいExcelファイルを作成して書き込む
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet['A1'] = '商品名'
sheet['B1'] = '価格'
sheet['A2'] = 'りんご'
sheet['B2'] = 120
workbook.save('sample_output.xlsx')

# 2. pandasで読み込み
df = pd.read_excel('sample_output.xlsx')
print("読み込んだデータ:")
print(df)

# 3. openpyxlで値を変更して上書き
workbook = openpyxl.load_workbook('sample_output.xlsx')
sheet = workbook.active
sheet['B2'] = 150  # 価格を変更
workbook.save('sample_output.xlsx')

# 4. 再度pandasで確認
df = pd.read_excel('sample_output.xlsx')
print("変更後のデータ:")
print(df)

このサンプルでは、新規作成から編集、pandasとの連携までを一度に体験できます。Excel業務の自動化やデータ整理など、多くの場面で応用できる基本的な流れです。

先生と生徒の振り返り会話

生徒

「PythonでExcelが扱えるなんて思っていませんでした。セルに直接書き込めたり、表をまとめて読み込めたりして、とても便利ですね!」

先生

「そうなんです。openpyxlを使えば細かい編集ができて、pandasは大量のデータを扱うのにぴったりです。使い分けることでExcel作業が一気に効率化できますよ。」

生徒

「シート名を指定して読み込む方法も役に立ちそうです。仕事で複数シートのExcelをよく扱うので、Pythonで自動化できたらすごく楽になりますね。」

先生

「その通り。データ分析でも事務作業でもExcelはよく使われますから、Pythonで操作できるようになると作業の幅がとても広がります。今回の内容を何度か手を動かして練習してみてください。」

生徒

「はい!openpyxlとpandasの違いもよく分かったので、用途に応じて使い分けられるように練習していきます!」

先生

「とても良い心構えですね。Excel操作はPython学習の中でも実践的で役に立つ分野ですから、どんどん挑戦していきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

PythonでExcelファイル(.xlsx)を扱うにはどのような方法がありますか?

PythonでExcelファイル(.xlsx)を扱うには、openpyxlやpandasといった専用ライブラリを使う方法があります。openpyxlはセル単位の操作に便利で、pandasは表形式のデータを一括で処理するのに適しています。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.6
Java&Spring記事人気No6
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.7
Java&Spring記事人気No7
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.8
Java&Spring記事人気No8
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
-
-