我试图创建一个for循环,将多个Excel文件导入多个数据帧
我尝试使用两个变量执行for
循环,其中f
表示文件的路径i
表示从1到len(files)
的不同数据帧,因此数据帧将命名为“1”,并包含来自第一个路径的Excel等
path = os.getcwd()
files = os.listdir(path)
for f, i in zip(files, np.arange(len(files))):
i = pd.read_excel(f)
相反,我似乎只得到一个名为“I”的数据框,其中只包含一个Excel文件
Tags:
我认为不需要首先对路径执行os.getcwd()。listdir()应该可以正常工作
如果xlsx文件是目录中唯一的内容:
这将创建一个数据帧列表,然后您可以使用
pd.concat
将它们组合在一起,如果它们是相同的结构或
下面将创建一个字典,其中键名为“excel\u file\u 1”、“excel\u file\u 2”等
首先,
i
的作用域仅在for循环内,因此您永远不会使用i
从循环中获取数据帧。其次,使用变量i
进行循环,然后将数据帧分配给i
,然后再次使用i
进行循环,再次分配给i
,覆盖每个循环中的i
;这就是您只获取最后一个excel数据的原因。第三,不能用数字命名对象,这是变量的工作我建议列出一个数据帧列表:
现在您可以访问每个单独的数据帧,调用它自己的变量
dataframes[0]
、dataframes[1]
、dataframes[2]
相关问题 更多 >
编程相关推荐