У меня есть текстовый файл, содержащий строки строк, которые напоминают формат массива. Первоначально у меня был список массивов-пустышек, и я прочитал их в файл, как этот, где каждый массив составляет около 5 операций с плавающей запятой:
import numpy as np
parameters = [np.array(...), np.array(...), ...]
with open('params.txt', 'w') as f:
for param in parameters:
f.write(str(param)+'\n')
Теперь я бы хотел прочитать их обратно, как список отдельных массивов. Однако у меня проблемы с этим - вот что я пытаюсь сделать:
parameters = []
with open('params.txt', 'r') as f:
for line in f:
parameters.append(np.array(line))
Но теперь, когда я позже пытаюсь индексировать элементы в этих массивах и использовать понимание списка, например: [params[2] for params in parameters]
, я получаю эту ошибку: IndexError: too many indices for array
.
Я также пытался прочитать их с помощью line.split(',')
, но это не дало мне того, что я хотел, и просто испортило форматирование. Как мне это сделать?
Формат моего текстового файла:
[242.1383, 131.087, 1590.853, 1306.09, 783.979]
[7917.102, 98.12, 21.43, 13.1383, 6541.33]
[823.74, 51.31, 9622.434, 974.11, 980.177]
...
Что я хочу:
parameters = [np.array([242.1383, 131.087, 1590.853, 1306.09, 783.979]), np.array([7917.102, 98.12, 21.43, 13.1383, 6541.33]), np.array([823.74, 51.31, 9622.434, 974.11, 980.177]), ...]