Как написать numy ndarray в текстовый файл? - PullRequest
0 голосов
/ 18 мая 2018

Скажите, что я получил это ndarray , используя numpy , которое я хочу записать в текстовый файл.:

[[1   2   3   4]
[5   6   7   8]
[9   10   11   12]]

Это мой код:

width, height = matrix.shape
with open('file.txt', 'w') as foo:
    for x in range(0, width):
        for y in range(0, height):
            foo.write(str(matrix[x, y]))
foo.close()

Проблема в том, что я получаю все строки ndarray всего заодна строка, однако я хочу, чтобы она была записана в файл следующим образом:

1 2 3 4
5 6 7 8
9 10 11 12

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Если вам нужно сохранить форму, как описано, я бы использовал библиотеку pandas . Этот пост описывает, как это сделать.

import pandas as pd
import numpy as np

your_data = np.array([np.arange(5), np.arange(5), np.arange(5)])

# can pass your own column names if needed
your_df = pd.DataFrame(your_data) 

your_df.to_csv('output.csv')
0 голосов
/ 18 мая 2018

Вы можете просто перебрать каждую строку:

with open(file_path, 'w') as f:
    for row in ndarray:
        f.write(str(row))
        f.write('\n')
...