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 を記述する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です