【发布时间】:2021-07-09 00:10:37
【问题描述】:
我有很多标签的 excel 文件。我想连接所有这些,一次一个标签。
我在做:
mypath = "mypath"
files = os.listdir(mypath)
files = [os.path.join(mypath,f) for f in files if f[-4:]=='xlsx']
sheets = pandas.ExcelFile(files[0]).sheet_names
现在,假设我的选项卡是 alpha、beta、gamma 等,我想创建一个数据框 df_alpha、df_beta 等,它们是我目录中所有文件的 alpha 选项卡的联合。
通过做:
for sheet in sheets:
df = pandas.DataFrame()
for f in files:
df = pandas.concat([df, pandas.read_excel(f, sheet_name=sheet)])
我可以得到我想要的,但当然我只有一个数据框,它是每个文件中最后一个选项卡的并集。如何更改代码,以便我有一个 dfs 列表,每个都命名为 df_alpha、df_beta 等?
【问题讨论】:
标签: python excel pandas concatenation dictionary-comprehension