スポンサーリンク

【初心者向け】PythonでExcelファイルを操作する方法|openpyxlで読み書きをマスターしよう!

Python入門
  1. 1. はじめに|PythonでExcelを操作したい理由
  2. 2. openpyxlのインストール方法
    1. 🔧 インストールは1行でOK!
    2. ✅ インストールできたか確認するには?
    3. 💡 よくあるエラー: pipコマンドが見つからない?
  3. 3. Excelファイルの新規作成と保存
    1. 📄 Excelファイルを新しく作るには?
    2. 📝 このコードの意味を説明すると…
    3. ✅ 実行してみよう!
    4. 💡 ちょっとした応用:別の場所に保存したいとき
  4. 4. 既存ファイルの読み込みとセルの値取得
    1. 📂 ファイルを読み込むには?
    2. 🔍 セルの値を読み取るには?
    3. 🔢 row・columnで指定する方法もあるよ!
    4. 💡 ファイルを読み込むときの注意点
  5. 5. セルへの書き込みとスタイル設定
    1. ✍ セルにデータを書き込む方法
    2. 🎨 スタイルをつけてみよう!
      1. 🔍 各スタイルの意味
    3. 📄 スタイル付きで保存して確認しよう!
    4. 📝 補足:セルに関数を書きたいときは?
  6. 6. 複数シートの操作とシートの追加・削除
    1. 🆕 シートを追加するには?
    2. ❌ シートを削除するには?
    3. 🔄 アクティブなシート(今使ってるシート)を切り替えるには?
    4. 📋 シート名を確認したいときは?
    5. ✅ まとめ:よく使うシート操作一覧
  7. 7. 実践例|表形式データを自動でExcel出力する
    1. 🧾 こんなデータを出力してみよう!
    2. 📄 Excelに書き出すコード
    3. ✅ 出力されたExcelを開いてみよう!
    4. 💡 応用ポイント
  8. 8. まとめ|openpyxlでできることを覚えよう
    1. 📌 openpyxlでできることまとめ
    2. 🤖 openpyxlを使えば、こんなこともできる!
  9. よくある質問(Q&A)
    1. 関連投稿:

1. はじめに|PythonでExcelを操作したい理由

みなさん、仕事や学校で「Excel(エクセル)」を使ったことはありますか?

表を作ったり、データをまとめたり、グラフを作ったりと、いろんな場面で大活躍するソフトですよね。でも、もし大量のデータを手作業で入力したり、毎回同じような作業をくり返したりしていたら……ちょっと面倒ですよね?

そこで登場するのが Python(パイソン) です!

Pythonは、初心者にもやさしくて人気のあるプログラミング言語です。このPythonを使えば、「Excelファイルを自動で作成する」「データをまとめて入力・編集する」「複数のファイルをまとめて処理する」なんてことが、ボタンひとつでできちゃうんです!

特に便利なのが、openpyxl(オープンパイエクセル) というライブラリ。これはPythonでExcelの「.xlsxファイル」を読み書きできるようにしてくれる道具のようなものです。


たとえば、こんなことができます:

  • Excelファイルを新しく作る
  • 既存のExcelファイルを読み込む
  • セルにデータを書き込む・読み取る
  • シートを追加・削除する
  • 書式(文字の色や太字)を設定する

つまり、Excelでやっている作業を自動化して、時間をぐっと短縮できるというわけなんです。

この記事では、そんな便利なopenpyxlの使い方を、やさしくステップごとに解説していきます。

💡 Excel作業がちょっと大変だな…と感じているあなたにこそ、Pythonとopenpyxlはぴったりの助っ人です!

それでは、一緒にPythonでExcel操作をマスターしていきましょう!




2. openpyxlのインストール方法

PythonでExcelファイルを操作するには、まず「openpyxl(オープンパイエクセル)」というライブラリを使えるようにする必要があります。

ライブラリというのは、「便利な道具箱」のようなもの。Python本体には入っていないけど、あとから追加できる機能のセットです。

🔧 インストールは1行でOK!

まずは、Pythonが使える環境(パソコン)で、ターミナル(Mac)コマンドプロンプト(Windows) を開いて、次のコマンドを打ち込みましょう:

pip install openpyxl

これだけでOK!
インターネットからopenpyxlが自動でダウンロードされて、Pythonで使えるようになります。

📝「pip(ピップ)」はPythonの道具をインストールするときによく使うコマンドです!

✅ インストールできたか確認するには?

念のため、ちゃんとインストールできたか確認してみましょう。以下のコードをPythonで実行してみてください:

import openpyxl

print("openpyxlが使えるようになりました!")

このように表示されれば、バッチリ準備完了です!


💡 よくあるエラー: pipコマンドが見つからない?

pipは内部コマンドまたは外部コマンド…」というエラーが出る場合は、Pythonが正しくインストールされていないか、環境変数の設定がされていない可能性があります。

そんなときは、こちらの記事も参考にしてください👇
👉 【超初心者向け】WindowsでPythonを始めよう!IDLEのインストールと基本の使い方




3. Excelファイルの新規作成と保存

openpyxlをインストールしたら、いよいよPythonでExcelファイルを作ってみましょう!
ここでは、「空っぽのExcelファイルを作って、好きな名前で保存する」基本の流れを紹介します。

📄 Excelファイルを新しく作るには?

まずは、openpyxlの中にある Workbook(ワークブック) という機能を使います。
ワークブックとは、Excelでいう「1つのファイル(.xlsx)」のことです。

次のコードを見てみましょう:

from openpyxl import Workbook

# ワークブックを新しく作る
wb = Workbook()

# 作ったExcelファイルを保存する
wb.save("sample.xlsx")

📝 このコードの意味を説明すると…

  • from openpyxl import Workbook
     → openpyxlの中から「Workbook」という機能だけを使えるようにしています。
  • wb = Workbook()
     → 新しいExcelファイル(ワークブック)を作って、変数wbに入れています。
  • wb.save("sample.xlsx")
     → 「sample.xlsx」という名前でファイルを保存しています。保存先はこのPythonファイルと同じフォルダになります。

📁 ファイル名の「.xlsx」は必ずつけましょう!Excel用の拡張子です。

✅ 実行してみよう!

このコードを実行すると、**「sample.xlsx」**というファイルが自動で作られます。
開いてみると、シートが1つあるだけのシンプルなExcelですが、「Pythonで作った」と思うとワクワクしますよね!


💡 ちょっとした応用:別の場所に保存したいとき

たとえば、デスクトップや特定のフォルダに保存したいときは、フルパスで指定しましょう。

wb.save("C:/Users/ユーザー名/Desktop/my_excel.xlsx")

※ Windowsの場合は、パスの「/」や「\」に注意してください!

ここまでできれば、Excelファイルを自動で作る準備はバッチリです!




4. 既存ファイルの読み込みとセルの値取得

前の章では、新しくExcelファイルを作って保存する方法を紹介しました。
今度は、すでにあるExcelファイルをPythonで「開いて中身を読む」方法を見ていきましょう!

📂 ファイルを読み込むには?

openpyxlでは、load_workbook()という関数を使って、既存のExcelファイルを読み込みます。

from openpyxl import load_workbook

# Excelファイルを読み込む
wb = load_workbook("sample.xlsx")

# アクティブなシート(最初に開かれるシート)を取得
ws = wb.active

wb.activeで、今開いている「ワークシート(表)」を扱えるようになります!


🔍 セルの値を読み取るには?

Excelの「A1」セルに入っているデータを読み取るには、こう書きます:

# A1セルの値を取得
value = ws["A1"].value

print("A1セルの中身は:", value)

🗒 セルは「A1」や「B3」など、Excelと同じような表記で指定できます。


🔢 row・columnで指定する方法もあるよ!

もし「A1ってどの位置?」ってわかりにくいときは、数字で指定する方法もあります。

# 1行目1列目(A1と同じ)の値を取得
value = ws.cell(row=1, column=1).value

print("1行1列の中身は:", value)

こっちの書き方は、for文でたくさんのセルを扱うときにも便利です!


💡 ファイルを読み込むときの注意点

  • ファイルが見つからないときは、エラーが出るので「ファイル名」や「パス」をよく確認しましょう。
  • .xlsx形式以外(.xlsなど)はopenpyxlでは読み込めません。

このようにして、Excelファイルの中のデータをPythonで読み取ることができます。
次は、セルにデータを書き込む方法や、見た目を変えるスタイルの設定について紹介していきます!




5. セルへの書き込みとスタイル設定

これまではExcelファイルを「作る」→「読む」という順でやってきましたが、今度は セルにデータを書き込んで、見た目(スタイル)も整える 方法を紹介します!


✍ セルにデータを書き込む方法

まずは基本の書き込みです。セルに文字や数字を入れるには、次のようにします:

from openpyxl import Workbook

# 新しいExcelファイルを作る
wb = Workbook()
ws = wb.active # アクティブなシートを取得

# A1セルに文字を書き込む
ws["A1"] = "こんにちは、Python!"

# B2セルに数字を書き込む
ws["B2"] = 123

# ファイルを保存
wb.save("write_sample.xlsx")

✅ セル名(例:「A1」「B2」)を指定して、直接値を代入できます!


🎨 スタイルをつけてみよう!

openpyxlを使えば、セルの文字の色太さ(太字)背景色なども変更できます。

以下は、スタイルを設定する例です:

from openpyxl.styles import Font, PatternFill

# A1のフォントを太字+赤色にする
ws["A1"].font = Font(bold=True, color="FF0000")

# B2の背景色を黄色にする
ws["B2"].fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")

🔍 各スタイルの意味

  • Font(bold=True, color="FF0000") → 太字で赤色(16進数のカラーコード)
  • PatternFill(...) → 背景色の指定

💡 Excelと同じように、カラーコードは「#FF0000」のように指定しますが、#は付けずに書きます!


📄 スタイル付きで保存して確認しよう!

上記のコードを実行したあとに write_sample.xlsx を開くと、

  • A1は赤くて太い文字
  • B2は黄色い背景に黒い数字
    になっているはずです!

ちょっとExcel職人になった気分になりますよね 😊


📝 補足:セルに関数を書きたいときは?

Excel関数も文字列として書けばOKです:

ws["C1"] = "=SUM(B2:B10)"  # B2〜B10の合計を計算するExcel関数

Excelを開いたときに、ちゃんと関数として計算されます!




6. 複数シートの操作とシートの追加・削除

Excelファイルって、1つのファイルの中に「シート」がいくつもありますよね。
たとえば「売上」「在庫」「社員名簿」など、目的ごとに分けて使うことができます。

Pythonのopenpyxlを使えば、シートの追加・削除・切り替え なども自由自在にできます!


🆕 シートを追加するには?

まずは新しいシートを追加してみましょう!

from openpyxl import Workbook

# 新しいExcelファイルを作成
wb = Workbook()

# シートを追加(名前もつけられる)
ws_new = wb.create_sheet(title="データ一覧")

# 保存
wb.save("multiple_sheets.xlsx")

create_sheet()で新しいシートを追加できます。名前をつけないと「Sheet2」「Sheet3」など自動で付きます。


❌ シートを削除するには?

いらないシートを削除するには、次のようにします:

# 既存のシートを削除する
ws_to_remove = wb["Sheet"] # 名前でシートを取得
wb.remove(ws_to_remove)

💡 シート名は wb.sheetnames で確認できます!


🔄 アクティブなシート(今使ってるシート)を切り替えるには?

# 名前でシートを指定して使う
ws = wb["データ一覧"]
ws["A1"] = "これは新しいシートです!"

これで、「データ一覧」という名前のシートのA1セルに文字が書き込まれます!


📋 シート名を確認したいときは?

以下のコードで、すべてのシート名をリストで取得できます:

print(wb.sheetnames)

実行すると、たとえばこんな感じで表示されます:

['Sheet', 'データ一覧']

✅ まとめ:よく使うシート操作一覧

操作コマンド例
シートの追加wb.create_sheet(title="名前")
シートの削除wb.remove(wb["Sheet"])
シートの一覧表示wb.sheetnames
シートを使うws = wb["シート名"]

ここまでできれば、1ファイルでたくさんのデータをきれいに整理できます!




7. 実践例|表形式データを自動でExcel出力する

ここまでの内容を使えば、Excelにいろいろなデータを書き込んだり、見た目を整えたりできるようになりましたね!

ではここで、「Pythonでリストのデータを自動で表にしてExcelに出力する」という実践的な例を紹介します。


🧾 こんなデータを出力してみよう!

まずはPythonのリストで、表っぽいデータを用意します:

data = [
["名前", "年齢", "職業"],
["田中太郎", 28, "エンジニア"],
["佐藤花子", 34, "デザイナー"],
["鈴木一郎", 41, "マネージャー"]
]

これをそのままExcelの表にしてみましょう!


📄 Excelに書き出すコード

from openpyxl import Workbook

# 新しいExcelファイルを作成
wb = Workbook()
ws = wb.active

# データを1行ずつExcelに書き込む
for row in data:
ws.append(row)

# ファイルを保存
wb.save("staff_list.xlsx")

🔄 ws.append(row) で、リスト1行ぶんをそのままExcelの1行に追加できます!


✅ 出力されたExcelを開いてみよう!

保存された「staff_list.xlsx」を開いてみると、

名前年齢職業
田中太郎28エンジニア
佐藤花子34デザイナー
鈴木一郎41マネージャー

こんな感じのきれいな表ができているはずです!


💡 応用ポイント

  • for row in data: のループを工夫すれば、どんなデータでも対応できます。
  • 行や列に応じて色を変えたり、太字にしたりすれば、見やすい帳票も作れます。
  • pandasライブラリと組み合わせると、もっと大規模なデータ処理も簡単にできます(※中級者向け)

ここまでできれば、PythonでExcelに自動でデータ出力する力が身についたと言っていいでしょう!




8. まとめ|openpyxlでできることを覚えよう

ここまで、PythonでExcelファイルを扱うためのライブラリ「openpyxl」の基本を学んできました。

最初は「ちょっと難しそう…」と思ったかもしれませんが、実際にやってみると「意外とカンタン!」って感じませんでしたか?😊


📌 openpyxlでできることまとめ

記事で紹介した内容を、もう一度まとめておきます:

機能やったことの例
Excelファイルの作成Workbook() を使って新規ファイルを作成
ファイルの保存wb.save("名前.xlsx")
ファイルの読み込みload_workbook("名前.xlsx")
セルの読み書きws["A1"] = "こんにちは" / value = ws["A1"].value
セルのスタイル設定文字色・太字・背景色などの設定
シートの操作シートの追加・削除・切り替え
表形式データの出力ws.append()でリストをそのままExcelに出力

🤖 openpyxlを使えば、こんなこともできる!

  • 毎日の売上データを自動で記録
  • シフト表や名簿を簡単に作成
  • データをまとめて加工して、レポートを自動生成

などなど、Excel作業の「自動化」がどんどん進みます!


よくある質問(Q&A)

Q
openpyxlで.xlsファイル(古いExcel形式)は扱えますか?
A

残念ながら、openpyxlは.xlsx形式専用のライブラリです。
古い.xlsファイルを扱いたい場合は、xlrdxlwtといった別のライブラリを使う必要があります。
また、.xlsファイルを一度Excelで開いて、.xlsxに変換してから使う方法もおすすめです。

Q
セルの罫線やフォントサイズも変更できますか?
A

はい、openpyxl.stylesモジュールを使えば、以下のような見た目のカスタマイズが可能です:

  • フォントの種類・サイズ・太字・斜体
  • 文字色・背景色
  • セルの罫線・塗りつぶし
  • セルの結合や高さ・幅の調整

基本的な書類の装飾はほぼ対応できます!

Q
Excel関数を使うことはできますか?
A

できます!
セルに文字として「=SUM(A1:A10)」のように式を書けば、関数として認識されて計算されます
ただし、計算結果はExcelを開いたときに更新されるため、Python側では計算は実行されません

※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。

※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。

スポンサーリンク