import pandas as pd
import os
import glob
all_data = pd.DataFrame()
for f in glob.glob("output/test*.xlsx")
df = pd.read_Excel(f)
all_data = all_data.append(df, ignore_index=True)
複数のxlsxファイルを1つのxlsxに入れたい。 Excelファイルはoutput/testフォルダーにあります。列はすべて同じですが、行を連結したいと思います。上記のコードは機能していないようです
all_data
をリストとします。
all_data = []
for f in glob.glob("output/test/*.xlsx"):
all_data.append(pd.read_Excel(f))
ここで、pd.concat
を呼び出します。
df = pd.concat(all_data, ignore_index=True)
すべての列名が同じであることを確認してください。同じでない場合、このソリューションは機能しません。
上記のmap
ループのfor
バージョンを使用することもできます。
g = map(pd.read_Excel, glob.glob("output/test/*.xlsx"))
df = pd.concat(list(g), ignore_index=True)
または、他の回答に示されているlist comprhensionメソッド。
使用する list comprehension
+ concat
:
all_data = [pd.read_Excel(f) for f in glob.glob("output/test/*.xlsx")]
df = pd.concat(all_data, ignore_index=True)