Python 加载多个文件并将其保存为变量

Python 加载多个文件并将其保存为变量,python,numpy,data-manipulation,Python,Numpy,Data Manipulation,我需要从不同的文件加载数据并将其保存为数组。我有多个文件名为file.n.project.dat,其中n是1-100。到目前为止,使用numpy似乎是最好的开始方式。每个文件都是一个5乘5的数组。我需要能够在以后的代码中添加/乘法数组 现在我有这个代码来加载数据,但是如何使每个文件都成为自己的变量呢 import numpy as np for i in range(1,101): np.loadtxt('file.' + str(i) + '.project.dat') 所以我需要做

我需要从不同的文件加载数据并将其保存为数组。我有多个文件名为
file.n.project.dat
,其中n是1-100。到目前为止,使用numpy似乎是最好的开始方式。每个文件都是一个5乘5的数组。我需要能够在以后的代码中添加/乘法数组

现在我有这个代码来加载数据,但是如何使每个文件都成为自己的变量呢

import numpy as np
for i in range(1,101):
    np.loadtxt('file.' + str(i) + '.project.dat')
所以我需要做的是加载多个文件并为每个文件创建一个变量


我以前看到过使用vars()创建变量的帖子,但我无法解决我的问题。

与其为要从磁盘加载的每个数组创建新变量,不如将它们全部存储在一个集合中,如列表或字典中

d = {}
for i in range(1, 101):
    d['matrix{}'.format(i)] = np.loadtxt('file.{}.project.dat'.format(i))
例如:

import numpy as np

# As a list
my_arrays = [np.loadtxt('file.{}.project.dat'.format(i)) for i in range(1, 101)]

# As a dictionary
my_arrays = {i: np.loadtxt('file.{}.project.dat'.format(i)) for i in range(1, 101)}

可以尝试将每个值追加到列表中,然后尝试逐个访问列表元素以获取值吗。

将numpy作为np导入
l=[]
对于范围(1101)内的i:
l、 追加(np.loadtxt('file.+str(i)+'.project.dat'))
打印l


我相信你的问题应该这样解决。我将拥有您想要的所有值。

您可以使用字典

d = {}
for i in range(1, 101):
    d['matrix{}'.format(i)] = np.loadtxt('file.{}.project.dat'.format(i))

这不会创建新的变量,但可能会解决您的任务,因为您可以按名称引用矩阵,
d['matrix10']

每当您需要多个变量时,您肯定会寻找一个
列表。您可以详细说明吗?
列表是数据容器:
p=[1,2,3,4,5]
-这里一个变量
p
同时包含5个元素。同样的事情也可以在你的情况下做,这取决于你的要求。你想用它们做什么?谢谢。我想有更好的办法,但还是想不出来。我需要把我的想法转换到列表上,我大部分都使用了小的Matlab代码,变量可以很好地工作。当然,使用列表可以避免很多复杂的事情,并允许串行访问。好的LuckPython列表更像是MATLAB单元——收集各种矩阵和对象的地方。我还没听说过字典。这很有帮助。我可以试着用这个方法。谢谢