gpt4 book ai didi

python - 如何使用变量名称列表从 .xls 文件夹自动创建 Pandas 数据框?

转载 作者:行者123 更新时间:2023-12-04 21:00:15 26 4
gpt4 key购买 nike

我有一个包含许多文件的文件夹。我想将工作表 'sheet1' 作为它们每个的 pandas 数据框导入,并分配给该标题的一部分的名称。

我已成功获得文件名列表:

path = "/Users/path"
files = os.listdir(path)
files_xls = [f for f in files if f[-3:] == 'xls']

['A.xls', 'B.xls']



我已经成功地列出了我想要作为数据框名称的名称:
names = map(lambda each:each.strip(".xls"), files_xls)

['A', 'B']



但我无法使用这些名称进行导入。我可以手动完成:
A = pd.read_excel(A.xls, 'sheet1')
B = pd.read_excel(B.xls, 'sheet1')
etc...

但我不知道如何自动化这个过程。

最佳答案

使用.zip结合你的两个 lists变成 dict , 使用 .items() 迭代结果并收集pd.read_excel()dict :

df = {}
for name, f in dict(zip(names, files_xls)).items():
df[name] = pd.read_excel(f, 'sheet1')
df['A']然后将包含 pd.read_excel('A.xls') 的结果.

您可以简化创建 list名称使用:
names = [f[:-4] for f in files_xls]

这工作如下:
files_xls = ['A.xls', 'B.xls']

names = [f[:-4] for f in files_xls]
['A', 'B']

name_dict = dict(zip(names, files_xls))
{'A': 'A.xls', 'B': 'B.xls'}

for name, f in name_dict.items():
print(name, f)

打印:
A A.xls
B B.xls

关于python - 如何使用变量名称列表从 .xls 文件夹自动创建 Pandas 数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37705483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com