【Pandas】辞書からDataFrameを作成する
MAX
MAX999blog
excelファイルを読み込む時、全てのシートを読み込むのであれば簡単に設定できるが、その他の場合は個別に読み込むシートを記載していく必要がある。
excelファイルを読み込む時はスライスによる表現が使えず、シート名やシート番号を1つずつ指定する必要がある。
シートがたくさんあると、いちいち指定するのが面倒なので、excelファイルのシート名一覧を作成できれば、プログラムを書くのが楽になる。
1import pandas as pd
2
3input_file = pd.ExcelFile('./sample.xlsx')
4sheet_names = input_file.sheet_names
5print(sheet_names)
6# ['Sheet1', 'Sheet2', 'Sheet3']
これでシート名のリストが作成される。
あとは、read_excelでファイルを読み込むだけ。
1d_df = pd.read_excel(input_file,
2 index_col=None,
3 parse_dates=None,
4 header=None,
5 sheet_name=sheet_names)
6print(d_df["Sheet1"])
7print("--------------------------")
8print(d_df["Sheet2"])
9print("--------------------------")
10print(d_df["Sheet3"])
11
12# colA colB colC colD
13# 0 1 4 7 10
14# 1 2 5 8 11
15# 2 3 6 9 12
16# --------------------------
17# colA colB colC colD
18# 0 1 4 aaa A
19# 1 2 5 bbb B
20# 2 3 6 ccc C
21# --------------------------
22# colA colB colC colD
23# 0 1 1.1 aaa A
24# 1 2 2.2 bbb B
25# 2 3 3.3 ccc C
sheet_nameにシート名のリストを指定することで、全シートをデータフレームとしてまとめて読み込むことができる。
なお、複数のシートを読み込んだ場合、シート名をキー、値をデータフレームとした辞書が返ってくる。
キーにシート名を指定することで、対象のデータフレームを取得可能。