如何在python中将多个文本文件读入数组?

问题描述 投票:0回答:1

我有多个文本文件,每个文件包含几列。我需要将每个文件读入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)

您能帮我吗?

python arrays loops text-files
1个回答
0
投票

您可以使用字典作为适当的方式:

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)

[您需要避免在实际代码中使用最后两个选项,因为这是产生难以发现的错误的直接方法。

© www.soinside.com 2019 - 2024. All rights reserved.