我有多个文本文件,每个文件包含几列。我需要将每个文件读入python中称为RDF的数组中。关键是我以前将一个文件读入一个数组,如下所示:
RDF_1 = numpy.loadtxt("filename_1.txt", skiprows=205, usecols=(1,), unpak=True)
如何在python中创建一个循环,使其像这样将多个文件读入其对应的数组中:
for i in range(100):
RDF_i = numpy.loadtxt("filename_"+str(i)+".txt", skiprows=205, usecols=(1,), unpak=True)
您能帮我吗?
您可以使用字典作为适当的方式:
files_mapping = dict()
for i in range(100):
files_mapping[f'RDF_{i}'] = numpy.loadtxt(f"filename_{i}.txt", skiprows=205, usecols=(1,), unpak=True)
但是如果出于某些未知原因,您确实需要动态创建变量,则可以使用exec:
for i in range(100):
exac(f'RDF_{i} = numpy.loadtxt(f"filename_{i}.txt", skiprows=205, usecols=(1,), unpak=True)'
另外一种可能的方式是使用locals:
for i in range(100):
locals()[f'RDF_{i}'] = numpy.loadtxt(f"filename_{i}.txt", skiprows=205, usecols=(1,), unpak=True)
[您需要避免在实际代码中使用最后两个选项,因为这是产生难以发现的错误的直接方法。