3 回答
TA贡献1856条经验 获得超17个赞
使用sheet_name=None在read_excel从所有sheetnames创建DataFrames的回报orderdict,然后联合起来concat,并最后DataFrame.append到最后DataFrame:
out_df = pd.DataFrame()
for f in source_dataset_list:
df = pd.read_excel(f, sheet_name=None)
cdf = pd.concat(df.values())
out_df = out_df.append(cdf,ignore_index=True)
另一种解决方案:
cdf = [pd.read_excel(excel_names, sheet_name=None).values()
for excel_names in source_dataset_list]
out_df = pd.concat([pd.concat(x) for x in cdf], ignore_index=True)
TA贡献1829条经验 获得超13个赞
如果我正确理解了您的问题,那么设置sheet_name=None就pd.read_excel可以了。
import os
import pandas as pd
path = "C:/Users/aaa/Desktop/Sample_dataset/"
dfs = [
pd.concat(pd.read_excel(path + x, sheet_name=None))
for x in os.listdir(path)
if x.endswith(".xlsx") or x.endswith(".xls")
]
df = pd.concat(dfs)
TA贡献1829条经验 获得超6个赞
如果您想阅读所有表格,我有一个非常直接的解决方案。
import pandas as pd
df = pd.concat(pd.read_excel(path+file_name, sheet_name=None),
ignore_index=True)
添加回答
举报