Pythonは、Excelファイルの操作にも非常に適しており、専用のライブラリを使用することで簡単にExcelファイルを読み込むことができます。
この記事では、Pythonを使ってExcelファイルを読み込む方法について、基礎から応用までを網羅し、実践的なコード例を交えて解説していきます。
特に、pandasやopenpyxlといった人気ライブラリを利用して、効率よくExcelデータを扱うテクニックをご紹介します。
- 未経験者向けプログラミングスクール
- 現役エンジニアがしっかりサポート
- 卒業後も安心の転職・副業サポート
PythonでExcelファイルを読み込む基本的な方法

Pythonでは、Excelファイルを読み込むためにいくつかのライブラリを使用できます。
最も広く使用されているのは、データ操作に強力な機能を提供するpandasです。
また、Excelの細かい操作に特化したopenpyxlというライブラリもあります。
まずは、これらのライブラリを使って、基本的なExcelファイルの読み込み方法を見ていきましょう。
pandasを使ったExcelファイルの読み込み
pandasライブラリは、CSVファイルだけでなく、Excelファイルの読み込みにも対応しています。
次のコードは、pandasを使ってExcelファイルを読み込む最も簡単な方法です。
python
import pandas as pd
df = pd.read_excel('sample.xlsx')
print(df)
このコードでは、sample.xlsxというファイルを読み込み、その内容をデータフレームとして表示します。
データフレームは、Excelの表形式のデータをPythonで効率的に扱うための便利な構造です。
openpyxlを使ったExcelファイルの読み込み
pandasの他にも、Excelファイルを直接操作できるライブラリとして、openpyxlがあります。
このライブラリは、Excelファイルの細かいセルの操作やスタイルの設定も可能です。
python
import openpyxl
wb = openpyxl.load_workbook('sample.xlsx')
sheet = wb.active
for row in sheet.iter_rows(values_only=True):
print(row)
このコードでは、Excelファイルを開き、行ごとにデータを読み込んでいます。
openpyxlを使うことで、セルの内容を細かく操作することが可能です。
特定のシートを読み込む方法
Excelファイルには複数のシートが含まれていることが一般的です。
pandasやopenpyxlでは、特定のシートを指定して読み込むことが可能です。
python
# pandasを使用
df = pd.read_excel('sample.xlsx', sheet_name='Sheet2')
print(df)
# openpyxlを使用
sheet = wb['Sheet2']
for row in sheet.iter_rows(values_only=True):
print(row)
これらのコードは、Sheet2というシートのみを読み込んで表示します。
プログラミングスクール受講時には教育訓練給付制度を利用することで、受講料の最大80%の給付を受けることが可能です。
Excelファイルの読み込みにおけるエラーハンドリング

Excelファイルを読み込む際には、ファイルの形式や内容に応じてエラーが発生することがあります。
Pythonでのエラーハンドリング方法を理解しておくことで、問題を事前に防ぐことができます。
ファイルが存在しない場合のエラー処理
Excelファイルが存在しない場合、ファイル読み込み時にエラーが発生します。
この場合には、try-except構文を使ってエラーメッセージを表示することが可能です。
python
import pandas as pd
try:
df = pd.read_excel('non_existent_file.xlsx')
except FileNotFoundError:
print("ファイルが見つかりません。")
このコードでは、FileNotFoundErrorが発生した場合にエラーメッセージが表示されます。
Excelファイルの破損に対するエラー処理
Excelファイルが破損している場合、正しく読み込めないことがあります。
このような場合にもエラーハンドリングを適用し、処理が中断しないようにしましょう。
python
import openpyxl
try:
wb = openpyxl.load_workbook('corrupted_file.xlsx')
except openpyxl.utils.exceptions.InvalidFileException:
print("ファイルが破損しています。")
このコードは、破損したExcelファイルを読み込もうとした際のエラーハンドリングを示しています。
指定されたシートが存在しない場合の対処法
指定したシート名が存在しない場合、エラーが発生しますが、これもハンドリングすることが可能です。
python
import pandas as pd
try:
df = pd.read_excel('sample.xlsx', sheet_name='NonExistentSheet')
except ValueError:
print("指定されたシートが存在しません。")
このコードでは、指定したシートが存在しない場合にエラーメッセージを表示します。
- 現役エンジニアからスキルを学べる
- 満足度は驚異の97.4%
- 300社以上のIT企業で研修に導入
- 毎日9時〜21時まで、無料カウンセリングを開催中!
大量のExcelデータを効率よく読み込む方法
大量のデータが含まれるExcelファイルを扱う際には、処理速度を向上させるための工夫が必要です。
pandasやopenpyxlには、効率よくデータを扱うためのいくつかのテクニックがあります。
特定の列のみを読み込む
データの一部だけを使用する場合、全てのデータを読み込む必要はありません。
pandasでは、usecols引数を使って、必要な列だけを読み込むことが可能です。
python
import pandas as pd
df = pd.read_excel('sample.xlsx', usecols=['名前', '年齢'])
print(df)
このコードは、’名前’と’年齢’列のみを読み込んで表示しています。
特定の行数のみを読み込む
大量の行がある場合、最初の数行だけを読み込むことで処理を高速化することができます。
pandasでは、nrows引数を使って、読み込む行数を指定できます。
python
import pandas as pd
df = pd.read_excel('sample.xlsx', nrows=10)
print(df)
このコードは、Excelファイルの最初の10行のみを読み込んで表示します。
メモリ効率を改善するための方法
大量のデータを処理する際、メモリ使用量を抑えるために適切なデータ型を指定することが有効です。
pandasでは、読み込み時にデータ型を指定することが可能です。
python
import pandas as pd
df = pd.read_excel('sample.xlsx', dtype={'年齢': int})
print(df)
このコードは、’年齢’列を整数型として読み込み、メモリ効率を向上させています。
まとめ

Pythonを使用したExcelファイルの読み込みは、非常に強力かつ柔軟です。
pandasやopenpyxlなどのライブラリを活用することで、さまざまな形式のExcelデータを効率よく扱うことができます。
ぜひ、これらの技術を使いこなして、データ処理を一歩進めましょう。



コメント