Pandasで複数のexcelシートを結合する方法
多くの場合、複数の Excel シートをインポートして単一の pandas DataFrame に結合したい場合があります。
たとえば、 data.xlsxという次の Excel ワークブックがあり、3 つの異なるシートのすべてにバスケットボール選手データの 2 列が含まれているとします。
pandas concat()関数とread_excel()関数を使用すると、各シートを単一の pandas DataFrame に簡単にインポートして結合できますが、まずxlrdがインストールされていることを確認する必要があります。
pip install xlrd
インストールしたら、次のコードを使用して、これら 3 つのシートをインポートし、単一の Pandas DataFrame に結合できます。
#load pandas library import pandas as pd #import and combine the three sheets into one pandas DataFrame df = pd. concat (pd. read_excel ('data.xlsx', sheet_name= None ), ignore_index= True ) #view DataFrame df player points 0 to 12 1 B 5 2 C 13 3 D 17 4 E 27 5 F 24 6 G 26 7:27 a.m. 8 I 27 9 D 12 10K 9 11 L 5 12 M 5 13 N 13 14 O 17
このコードはどのように機能するのか
この 1 行のコードがどのように複数の Excel シートをインポートして結合できるかを理解するには、2 つの部分だけで説明します。
1. すべてのシートを読みます。
p.d. read_excel ('data.xlsx', sheet_name= None )
このコードは、Excel ワークブックのすべてのシートを読み取ります。デフォルトでは、 read_excel()関数は最初のシートのみを読み取りますが、 sheet_name=Noneを指定すると、Excel ワークブック内の各シートを読み取ることができます。
2. すべてのシートを連結します。
p.d. concat ( DataFrames to concatenate , ignore_index= True )
このコード部分は、各 Excel シートのすべての DataFrame を単一の pandas DataFrame に単純に連結します。 ignore_index=Trueを指定することで、個々のリーフ名は重要ではないことをパンダに伝えます。
このコードは、各 Excel シートの形式が同じ場合にのみ機能することに注意してください。この例では、各シートに 2 つのデータ列があり、各列は同じ名前を持っていました。そのため、この 1 行のコードが非常に簡単に機能して、各 Excel シートを単一の pandas DataFrame に結合できました。
追加リソース
究極ガイド: Pandas で Excel ファイルを読み取る方法
複数の Excel シートにまたがる Pandas DataFrame を記述する方法