Запись массива 3D Numpy в файл CSV - PullRequest
0 голосов
/ 22 мая 2018

У меня есть 3D-массив Numpy с формой [1953,949,13].Я хочу записать его в файл CSV, где каждая строка должна содержать 2D-массив формы [949 13], а файл CSV должен содержать 1953 строки.Я пробовал np.savetext , и он поддерживает только 1D и 2D массивы.Затем я попробовал построчную запись в CSV, но для этого требуется, чтобы каждая матрица была преобразована в строку.Как я могу сделать это в Python?Мое требование отличается от вопроса Сохранение значений в трехмерном массиве в CSV

1 Ответ

0 голосов
/ 03 сентября 2018

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

import csv
import numpy as np
fil_name = 'file'
example = np.zeros((2,3,4))
example = example.tolist()
with open(fil_name+'.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=',')
    writer.writerows(example)

#to read file you saved
with open(fil_name+'.csv', 'r') as f:
  reader = csv.reader(f)
  examples = list(reader)

print(examples)
nwexamples = []
for row in examples:
    nwrow = []
    for r in row:
        nwrow.append(eval(r))
    nwexamples.append(nwrow)
print(nwexamples)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...