2014-01-30 2 views
1

Я пытаюсь записать значения массива в CSV-файл в python. Но когда я открываю файл в excel, данные отображаются в одной строке. Я хочу иметь один столбец, где каждый член массива является строкой.Запись массива в csv python (один столбец)

Массив "testLabels" имеет вид:

array(['deer', 'airplane', 'dog', ..., 'frog', 'cat', 'truck'], 
    dtype='<S10') 

И код я использую для записи в формате CSV является:

import csv 
resultFile = open("/filepath",'wb') 
wr = csv.writer(resultFile) 
wr.writerows([testLabels]) 

Любая помощь будет принята с благодарностью.

+0

вопрос давно ответил с предложениями по стороне питона. Однако использование функции в MS Excel было бы проще: просто используйте функцию [text-to-columns] (http://www.excel-easy.com/examples/text-to-columns.html). – MERose

ответ

2

Вы должны изменить разделитель. CSV - значение, разделенное запятыми, но Excel понимает, что запятая «;» (да, странно). Таким образом, вы должны добавить параметр Разделитель = «;», как

csv.writer(myfile, delimiter=";") 
+0

Использование разделителя excel настраивается ... но его не превзойти, хотя: http://www.howtogeek.com/howto/21456/export-or-save-excel-files-with-pipe-or-other-delimiters -instead-оф-запятых / – deostroll

1

Вы должны написать каждый элемент списка в отдельную строку в файле CSV, чтобы получить их в одну колонку.

for label in testLabels: 
    wr.writerows([label]) 
1

Попробуйте это:

wtr = csv.writer(open ('out.csv', 'w'), delimiter=',', lineterminator='\n') 
for x in arr : wtr.writerow ([x]) 
Смежные вопросы