3 回答

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
使用sheet_name=None在read_excel從所有sheetnames創(chuàng)建DataFrames的回報(bào)orderdict,然后聯(lián)合起來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貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
如果我正確理解了您的問題,那么設(shè)置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貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果您想閱讀所有表格,我有一個(gè)非常直接的解決方案。
import pandas as pd
df = pd.concat(pd.read_excel(path+file_name, sheet_name=None),
ignore_index=True)
添加回答
舉報(bào)