【Python】pandasでExcelを読み込む - 加賀百万石ですが何か?

【Python】pandasでExcelを読み込む

珍しくIT関連の記事です。

データ分析の仕事等をしているとExcelのファイルを読み込みたいことがあると思います。

そんなときのPythonでの読み込み方法です。

準備

とりあえずxlrdをpipでインストールします。

pip install xlrd

読み込み方

pandasで読み込むのが簡単です。

まずはシンプルな例として「ひとつのxlsxファイルの中の,ひとつのシートを読み込む」場合です。

import pandas as pd
 
# 読み込みたいファイル名とシート名を指定
book = 'book.xlsx'
sheet = 'sheet_name'
 
# 読み込み処理
loaded_file = pd.ExcelFile(book) # ファイルを読み込む
sheet_df  = loaded_file.parse(sheet_name) # シートをpandasのDataFrameに変換

以上です。pandasを使えば簡単ですね。

もうsheet_dfがDataFrameになっているので,あとは好きに処理してしまえばいいです。

複数のファイルの全シートを読み込みたい場合はこういう感じになります。

import pandas as pd

# 読み込みたいファイルを指定
books = ['book1.xlsx', 'book2.xlsx']
df_list = [] # 全ファイルの全シートをDataFrameのリストに変換する

for book in books:
    file = pd.ExcelFile(book) # bookを読む
    for sheet in file.sheet_names:
        df_list.append(file.parse(sheet)) # シートを順々にデータフレーム化

ちなみに,pandas.ExcelFile.parseで比較的よく使う引数は次の2つくらいですかね。

・skiprows: 最初の何行をスキップするか

・header: 最初の行をヘッダーとして読み込まない場合は,header=None

スポンサーリンク