Как читать несколько текстовых файлов в массивы? - PullRequest
0 голосов
/ 02 февраля 2020

У меня есть несколько текстовых файлов, каждый из которых содержит несколько столбцов. Мне нужно прочитать каждый файл в массив в python, который называется RDF. Дело в том, что я использовал для чтения один файл в один массив следующим образом:

RDF_1 = numpy.loadtxt("filename_1.txt", skiprows=205, usecols=(1,), unpak=True)

Как создать al oop в python так, чтобы он читает более одного файла в соответствующие массивы следующим образом:

for i in range(100):
    RDF_i =  numpy.loadtxt("filename_"+str(i)+".txt", skiprows=205, usecols=(1,), unpak=True)

Ответы [ 2 ]

1 голос
/ 02 февраля 2020

Вы можете правильно использовать словари:

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)

Но если по каким-то неизвестным причинам вам действительно нужно динамически создавать переменные, вы можете использовать exe c:

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)

Вам нужно избегать использования двух последних опций в реальном коде, потому что это прямой способ порождения жесткого найти ошибки.

0 голосов
/ 09 февраля 2020

Я нашел способ сделать это. Я использую двумерный массив после импорта библиотеки numpy.

Однако мне пришлось обнулить массивы перед заполнением их данными, потому что python уже заполнил их случайными значениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...