'Unable to write index into CSV file
I am trying to write the index values in a csv file but I am getting error.
code used for writing into csv
test = df.sort_values(['sqdist'], ascending=[False])
for i in range(len(test)):
print(test.index[i])
The above code gives me output like this. These are the index values and I am trying to write this in a CSV using the below code.
7163
4332
3319
1213
1212
6984
4331
4362
6393
515
Trying to write the above output into a csv file exactly like how i see above.
with open ("scores.txt",'w') as f1:
writer = csv.writer(f1, lineterminator='\n', )
for i in range(len(test)):
writer.writerow(test.index[i])
print("Saved the scores in the text file score.txt")
Error:
---------------------------------------------------------------------------
Error Traceback (most recent call last)
<ipython-input-26-748f3db1997a> in <module>()
94 writer = csv.writer(f1, lineterminator='\n', )
95 for i in range(len(test)):
---> 96 writer.writerow(test.index[i])
97 print("Saved the scores in the text file ranking.txt")
98
Error: iterable expected, not numpy.int64
Solution 1:[1]
The argument to writerow()
must be a sequence, since each element of the sequence will be a separate field in the CSV.
If you're just writing a single field, wrap it in a list or tuple.
writer.writerow([i])
Although if you just have one field, there's not much point in using the csv
module in the first place.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Barmar |