【问题标题】:Writing array to csv python (one column)将数组写入csv python(一列)
【发布时间】:2014-02-23 06:49:48
【问题描述】:

我正在尝试将数组的值写入 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])

任何帮助将不胜感激。

【问题讨论】:

  • 这个问题早就得到了关于python方面的建议的回答。但是,在 MS Excel 中使用函数会更容易:只需使用 text-to-columns function

标签: python arrays excel csv machine-learning


【解决方案1】:

试试这个:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

      试试这个:

      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)
      

      【讨论】:

        【解决方案5】:

        试试这个:

            for i in range(len(testLabels)):
                result_file = open('filePath.csv', 'a')
                result_file.write("{}{}".format(testLabels[i], '\n'))
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-05-19
          • 1970-01-01
          • 2021-11-09
          • 1970-01-01
          • 1970-01-01
          • 2019-04-09
          相关资源
          最近更新 更多