目次
1. はじめに
Pythonは、多くのプログラミング言語の中でも特に人気が高く、データ解析や自動化の分野で広く使用されています。特に、Excelファイルを扱う際には、Pythonのライブラリを使用することで効率的にデータを操作できます。この記事では、Pythonを使ってExcelファイルを読み込む方法を基礎から詳しく解説します。2. PythonでExcelファイルを扱うための準備
PythonでExcelを扱うには、専用のライブラリが必要です。このセクションでは、必要なライブラリのインストール方法や開発環境の準備について説明します。Pythonの開発環境
まず、Pythonがインストールされていることを確認してください。以下のコマンドをターミナルやコマンドプロンプトで入力すると、Pythonのバージョンを確認できます。python --version
推奨されるバージョンは3.7以上です。必要なライブラリのインストール
Excelを操作するための代表的なライブラリは以下の2つです。- openpyxl: Excelファイル(.xlsx)の読み書きが可能。
- 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は、それぞれ異なる用途で使用されます。このセクションでは、両者の特徴を比較し、適切な使い分けを提案します。ライブラリ | 特徴 | 適用例 |
---|---|---|
openpyxl | Excelファイルを細かく操作可能 | セル単位での編集、書式設定 |
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を超えるデータのみを抽出しています。