PythonでExcelファイルを読み込む方法|pandasとopenpyxlの使い方を徹底解説

1. はじめに

Pythonは、多くのプログラミング言語の中でも特に人気が高く、データ解析や自動化の分野で広く使用されています。特に、Excelファイルを扱う際には、Pythonのライブラリを使用することで効率的にデータを操作できます。この記事では、Pythonを使ってExcelファイルを読み込む方法を基礎から詳しく解説します。

2. PythonでExcelファイルを扱うための準備

PythonでExcelを扱うには、専用のライブラリが必要です。このセクションでは、必要なライブラリのインストール方法や開発環境の準備について説明します。

Pythonの開発環境

まず、Pythonがインストールされていることを確認してください。以下のコマンドをターミナルやコマンドプロンプトで入力すると、Pythonのバージョンを確認できます。

python --version

推奨されるバージョンは3.7以上です。

必要なライブラリのインストール

Excelを操作するための代表的なライブラリは以下の2つです。

  1. openpyxl: Excelファイル(.xlsx)の読み書きが可能。
  2. pandas: データフレーム形式でデータを操作でき、データ解析に便利。

インストールコマンド:

pip install openpyxl pandas

インストールが成功すると、これらのライブラリを使ってPythonでExcelを操作できるようになります。

3. openpyxlを使用したExcelファイルの読み込み

openpyxlは、Excelファイルを直接操作するためのライブラリです。このセクションでは、基本的な操作方法を解説します。

ワークブックの読み込み

まずは、Excelファイルを開く方法を見てみましょう。

from openpyxl import load_workbook

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

# シート名を確認
print(workbook.sheetnames)

上記のコードでは、example.xlsxというファイルを開き、その中に含まれるシート名を取得しています。

シートの選択とセルの値取得

特定のシートを選択してデータを読み込む方法です。

# シートを選択
sheet = workbook["Sheet1"]

# 特定のセルの値を取得
value = sheet["A1"].value
print(f"A1セルの値: {value}")

セルの指定は「列+行」(例: A1)で行います。

4. pandasを使用したExcelファイルの読み込み

pandasは、データ解析に特化したライブラリで、Excelファイルを簡単にデータフレーム形式に変換できます。

Excelファイルをデータフレームに変換

pandasのread_excel関数を使ってExcelファイルを読み込む方法を紹介します。

import pandas as pd

# Excelファイルを読み込む
df = pd.read_excel("example.xlsx")

# データフレームの先頭5行を表示
print(df.head())

このコードを実行すると、Excelデータが表形式で表示されます。

特定のシートや範囲を読み込む

特定のシートや範囲を指定することで、効率的にデータを操作できます。

# 特定のシートを読み込む
df = pd.read_excel("example.xlsx", sheet_name="Sheet1")

# 特定の列のみを取得
df = pd.read_excel("example.xlsx", usecols="A:C")
print(df)

 

5. openpyxlとpandasの使い分け

openpyxlとpandasは、それぞれ異なる用途で使用されます。このセクションでは、両者の特徴を比較し、適切な使い分けを提案します。

ライブラリ特徴適用例
openpyxlExcelファイルを細かく操作可能セル単位での編集、書式設定
pandasデータ解析や操作に特化データの集計、フィルタリング

使い分けの例

  • openpyxl: Excelのフォーマットを保持したまま編集する場合。
  • pandas: 大量のデータを効率的に処理する場合。

6. 実践例:Excelデータの加工と保存

ここでは、実際にExcelデータを加工して保存する方法を紹介します。

データの加工

以下のコードは、データをフィルタリングして新しいExcelファイルに保存する例です。

import pandas as pd

# Excelデータを読み込み
df = pd.read_excel("example.xlsx")

# 特定の条件でデータをフィルタリング
filtered_df = df[df["売上"] > 1000]

# 加工したデータを新しいファイルに保存
filtered_df.to_excel("filtered.xlsx", index=False)
print("新しいファイルに保存しました")

このコードでは、売上が1000を超えるデータのみを抽出しています。

7. まとめ

この記事では、Pythonを使ってExcelファイルを読み込む方法を詳しく解説しました。openpyxlとpandasの基本操作を理解し、それぞれの用途に応じた使い分けができるようになったはずです。実際にコードを試して、PythonでのExcel操作に慣れてみてください。