【Pandas】ExcelファイルからDataFrameを作る

Pandas
この記事は約6分で読めます。

Excelファイル(.xls.xlsx)は広く使用されている表計算ソフトのデータ形式です。Pandasを使用すると、Excelファイルからデータを簡単に読み込み、DataFrameとして操作することができます。この記事では、Excelファイルを読み込む際の方法を具体的なサンプルコードを交えて説明します。

1. ExcelファイルをDataFrameに変換する方法

Pandasにはread_excel()という関数があり、これを使ってExcelファイルを直接読み込むことができます。Excelファイルには、シートごとのデータや、特定のセル範囲のデータを読み込むこともできます。

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

  • Pandasを使うためには、openpyxlxlrdなどのライブラリが必要です。インストールするには以下のコマンドを実行します。
pip install pandas openpyxl

サンプルコード:

import pandas as pd

# Excelファイルのパス
excel_file_path = 'data.xlsx'

# Excelファイルを読み込み、DataFrameに変換
df = pd.read_excel(excel_file_path)

# DataFrameの表示
print(df)

このコードでは、pd.read_excel()関数を使用してExcelファイルをDataFrameに変換しています。ファイルが正常に読み込まれると、Excelシート内のデータがDataFrameとして表示されます。

出力例:

    Name  Age  Gender  Income
0   John   25    Male   50000
1   Alice  30  Female   60000
2   Bob    22    Male   45000
3   Carol  28  Female   52000

このように、ExcelファイルのデータがPandasのDataFrameに変換され、簡単に操作することができます。

2. シートの選択や特定のセル範囲の読み込み

Excelファイルには複数のシートが含まれる場合があります。read_excel()関数では、読み込むシートを指定することができます。デフォルトでは最初のシートが読み込まれますが、sheet_nameパラメータを使って他のシートを指定することができます。

複数シートの読み込み:

# 1つ目のシートを読み込み
df1 = pd.read_excel(excel_file_path, sheet_name=0)

# シート名を指定して読み込み
df2 = pd.read_excel(excel_file_path, sheet_name='Sheet2')

また、特定のセル範囲を読み込むこともできます。例えば、usecolsskiprowsを使って列や行を選択することができます。

# 1〜5列を読み込む
df = pd.read_excel(excel_file_path, usecols='A:E')

3. 対応しているExcelのバージョン

Pandasのread_excel()関数は、以下のExcelファイル形式をサポートしています:

  • .xlsx: Excel 2007以降の形式
  • .xls: Excel 97-2003の古い形式
  • .xlsm: マクロを含むExcelファイル

ただし、古いExcel形式(.xls)を扱う場合は、xlrdライブラリが必要です。Pandasのバージョン1.2以降では、.xlsx形式に対応するためにopenpyxlライブラリが必要です。

pip install xlrd openpyxl

4. パスワード保護されたExcelファイル

Excelファイルがパスワードで保護されている場合、read_excel()関数では直接読み込むことができません。パスワードを解除するためには、別の方法でExcelファイルを開く必要があります。openpyxlxlwingsなどのライブラリを使用して、事前にパスワードを解除してから読み込むことが一般的です。

import openpyxl

# パスワードで保護されたExcelファイルを開く
wb = openpyxl.load_workbook('data_protected.xlsx', password='your_password')

# シート名の一覧を表示
print(wb.sheetnames)

5. 共有状態のExcelファイル

Excelファイルがネットワーク上で他のユーザーと共有されている場合、ファイルの読み込みが競合する可能性があります。一般的に、他のユーザーがそのファイルを編集している場合、Pandasではファイルを読み込むことができません。この場合、ファイルがロックされていないことを確認する必要があります。

6. まとめ

Pandasを使うことで、Excelファイルからデータを簡単に読み込み、DataFrameとして操作することができます。read_excel()関数を使えば、複数のシートやセル範囲を指定して読み込むことができ、さらにパスワード保護されたファイルや共有状態のファイルにも対応する方法が存在します。

Excelファイルの読み込みには、対応するライブラリ(openpyxlxlrd)をインストールする必要があります。また、古い形式やパスワード保護されたファイルについては、事前に対応を検討することが重要です。

参考リンク

少しだけPRです。

Pandasについて詳しく知りたいかた、もっと使いこなしたい方におすすめの本です。数年前に購入しましたが、今も手元に置いて時々見返しています。「pandasクックブック Pythonによるデータ処理のレシピ」Theodore Petrou著、黒川利明訳。

最後まで読んでいただきありがとうございます。73

コメント

タイトルとURLをコピーしました