#python #matrix #export
#python #матрица #экспорт
Вопрос:
Я пытаюсь экспортировать матрицу в текстовый файл со следующим кодом
with open('outfile.txt','wb') as f:
for line in M:
np.savetxt(f, line, fmt='%.4f')
Проблема в том, что файл, который я получаю, распределяет числа в разных строках, и это выглядит примерно так:
0.0000 0.0000 0.0000 0.
0000 0.0000 0.0000 0.0000 -0.2
998 -0.2966 -0.2945 …
Как я мог бы сказать python использовать каждую строку матрицы M в качестве новой полной строки из файла .txt?
Заранее благодарю вас
Комментарии:
1. не рекомендуется сохранять массивы numpy в виде текстовых файлов. Вы можете использовать это , чтобы сохранить ее как двоичный файл .npy
2. Спасибо, но мне это нужно именно в формате .txt
Ответ №1:
Если это двумерная матрица. Проще всего убедиться, что она в формате numpy, и использовать numpy.savetxt().
Ссылка на документацию ниже. https://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html
Ответ №2:
Попробуйте это:
with open('outfile.txt','wb') as f:
for line in M:
np.savetxt(f, line 'n', fmt='%.4f')
‘n’ должен переместить курсор на новую строку
Ответ №3:
Вы можете использовать встроенный в Python файловый объект, подобный такому:
M = np.random.randn(10,10)
f = open("outfile.txt","w")
for row in M:
for el in row:
f.write("%.4f" %el ' ')
f.write('n')
f.close()
обратите внимание, что при этом печатается новая строка каждый раз, когда строка была полностью напечатана.