Writing array to csv python (one column)
64,937
Solution 1
Try this:
wtr = csv.writer(open ('out.csv', 'w'), delimiter=',', lineterminator='\n')
for x in arr : wtr.writerow ([x])
Solution 2
You should change the delimiter. CSV is Comma Separated Value, but Excel understands that a comma is ";" (yeah weird). So you have to add the option delimiter=";", like
csv.writer(myfile, delimiter=";")
Solution 3
You need to write each item of list to a row in the CSV file to get them into one column.
for label in testLabels:
wr.writerows([label])
Solution 4
Try this:
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)
Author by
user3240210
Updated on July 09, 2022Comments
-
user3240210 almost 2 years
I'm trying to write the values of an array to a .csv file in python. But when I open the file in excel, the data is shown in one row. I want to have one column where each member of the array is a row.
The array "testLabels" is of the form:
array(['deer', 'airplane', 'dog', ..., 'frog', 'cat', 'truck'], dtype='<S10')
And the code I use to write to the csv is:
import csv resultFile = open("/filepath",'wb') wr = csv.writer(resultFile) wr.writerows([testLabels])
Any help would be greatly appreciated.