Записать список значений смешанного размера в файл csv? - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь записать в файл csv словарь, который dict.values() выглядит так:

[array([0., 0.]), 
 array([0., 0.]), 
 array([False, False]),
 array([[0.        , 0.        , 0.        , 0.        , 0.        ,
         0.        , 0.        , 0.        , 0.        , 0.        ,
         0.        , 0.        , 0.        , 0.        , 0.        ,
         0.        , 0.        , 0.        , 0.        , 0.        ,
         0.        , 0.        , 0.        , 0.        , 0.        ,
         0.        , 0.        , 0.        , 0.        , 0.        ,
         0.        , 0.        , 0.        , 0.        , 0.        ,
         0.        , 0.        , 0.        , 0.        , 0.        ,
         0.        , 0.        , 0.        , 0.        , 0.        ,
         0.        , 0.        , 0.        , 0.        , 0.        ,
         0.        , 0.        , 0.        , 0.        , 0.        ,
         0.        , 0.        , 0.        , 0.        , 0.        ,
         0.        , 0.        , 0.        , 0.        ],
        [1.29605159, 1.34248817, 1.38175124, 1.43016087, 1.47197148,
         1.51541594, 1.56291113, 1.60776118, 1.6462756 , 1.69182592,
         1.7291113 , 1.76715397, 1.80834908, 1.8427601 , 1.88061759,
         1.91729761, 1.95255064, 1.98351649, 2.01128049, 2.04023755,
         2.06054414, 2.08897637, 2.11314251, 2.13062882, 2.15120262,
         2.16624205, 2.18321702, 2.19119198, 2.19673247, 2.20310213,
         2.20941915, 2.21382251, 2.20941915, 2.20310213, 2.19673247,
         2.19119198, 2.18321702, 2.16624205, 2.15120262, 2.13062882,
         2.11314251, 2.08897637, 2.06054414, 2.04023755, 2.01128049,
         1.98351649, 1.95255064, 1.91729761, 1.88061759, 1.8427601 ,
         1.80834908, 1.76715397, 1.7291113 , 1.69182592, 1.6462756 ,
         1.60776118, 1.56291113, 1.51541594, 1.47197148, 1.43016087,
         1.38175124, 1.34248817, 1.29605159, 1.24764321],
        [2.55799656, 2.64964771, 2.72714061, 2.82268593, 2.90520686,
         2.9909525 , 3.08469302, 3.17321286, 3.24922815, 3.3391301 ,
         3.41271968, 3.4878039 , 3.56911002, 3.63702652, 3.71174525,
         3.78414002, 3.85371837, 3.91483518, 3.96963254, 4.02678463,
         4.06686344, 4.12297968, 4.170676  , 4.20518847, 4.24579464,
         4.27547774, 4.30898096, 4.32472101, 4.33565619, 4.34822789,
         4.36069568, 4.36938653, 4.36069568, 4.34822789, 4.33565619,
         4.32472101, 4.30898096, 4.27547774, 4.24579464, 4.20518847,
         4.170676  , 4.12297968, 4.06686344, 4.02678463, 3.96963254,
         3.91483518, 3.85371837, 3.78414002, 3.71174525, 3.63702652,
         3.56911002, 3.4878039 , 3.41271968, 3.3391301 , 3.24922815,
         3.17321286, 3.08469302, 2.9909525 , 2.90520686, 2.82268593,
         2.72714061, 2.64964771, 2.55799656, 2.4624537 ]])]

Моя цель - добавить что-то подобное в файл csv:

Поскольку первые 3 значения из 4 значений, которые я должен записать, его размеры равны (nr_frames, 1), а последнее значение - (nr_frames, 64). Я хочу иметь 4 столбца, относящиеся к 4 значениям, а количество строк - nr_frames. И все значения должны быть записаны через запятую или точку с запятой в каждой ячейке, что означает, что для 4-го значения в словаре все 64 значения разделены выбранным пробелом.

У меня работает только следующий код для 4-го значения, которое является массивом (nr_frames, 64):

with open("test1.csv", "wb") as outfile:
    writer = csv.writer(outfile, delimiter=';')
    writer.writerows(outputs.values()[-1])

writer.writerows(outputs.values()[-1])

Но когда я пытаюсь включить все outputs.values() I получите это:

writer.writerows(outputs.values()

...