将数组写入csv python(一列)

时间:2014-01-30 19:12:19

标签: python arrays excel csv machine-learning

我正在尝试将数组的值写入python中的.csv文件。但是当我在excel中打开文件时,数据显示在一行中。我想要一个列,其中数组的每个成员都是一行。

数组“testLabels”的格式为:

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

我用来写csv的代码是:

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

非常感谢任何帮助。

5 个答案:

答案 0 :(得分:3)

您应该更改分隔符。 CSV是逗号分隔值,但Excel了解逗号是“;” (是的,很奇怪)。所以你必须添加选项delimiter =“;”,比如

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

答案 1 :(得分:3)

试试这个:

wtr = csv.writer(open ('out.csv', 'w'), delimiter=',', lineterminator='\n')
for x in arr : wtr.writerow ([x])

答案 2 :(得分:1)

您需要将每个列表项写入CSV文件中的一行,以将它们放入一列。

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

答案 3 :(得分:0)

尝试一下:

import csv
import numpy as np
yourArray = ['deer', 'airplane', 'dog', ..., 'frog', 'cat', 'truck']
yourArray = np.array(yourArray)

with open('outputFile.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=',')
    for row in range(0,yourArray.shape[0]):
        myList = []
        myList.append(yourArray[row])
        writer.writerow(myList)

答案 4 :(得分:0)

尝试一下:

cases = { (True,  True,  True,  True):  foo_func,
      (True,  True,  True,  False): bar_func,
         ...}

result = cases[(x,y,x,t)](*args)