将多个Excel工作表加载到熊猫时出错
问题描述:
我尝试将具有多个Excel工作表的多个Excel文件加载到熊猫数据框中,现在我正在运行:
I try to load multiple excel files with multiple excel sheets into a pandas dataframe, right now I am running:
import pandas as pd
import glob
files = glob.glob(r'C:\...\Data\*.xlsx')
dfs = pd.read_excel(f,sheet_name=None) for f in files]
df = pd.concat(dfs, ignore_index=True)
none参数可确保我在每个excel中都加载了所有工作表,但出现错误:
The none parameter makes sure that I load all sheets in every excel, but i get the error:
TypeError:无法连接类型为'的对象,只有Series和Dataframe objs有效.
TypeError: cannot concatenate object of type ', only Series and Dataframe objs are valid.
我该如何解决?
答
在此处必须将 DataFrame
加入第一个列表理解中,因为如果通过 sheet_name = None
则获得OrderdictDataFrames:
Here is necessary join DataFrame
s in first list comprehension, because if pass sheet_name=None
get Orderdict of DataFrames:
dfs = [pd.concat(pd.read_excel(f,sheet_name=None)) for f in files]
df = pd.concat(dfs, ignore_index=True)