Python list to csv throws error: iterable expected, not numpy.int64
<p>I want to write a list into a csv,When trying to do it I receive the below error </p>

<pre><code>out.writerows(fin_city_ids)
_csv.Error: iterable expected, not numpy.int64
</code></pre>

<p>My code is as below </p>

<pre><code>org_id.append([pol_id,bldest_id])
fin_ids=list(org_city_id['org_id'].unique())
print(fin_ids)

out = csv.writer(open("D:/dataset/fin_ids.csv","w"), delimiter='|')
out.writerows(fin_ids)
</code></pre>

<p>Below is the output from fin_ids</p>

<pre><code>[1002774, 0, 1000702, 1000339, 1001620, 1000710, 1000202, 1003143, 147897, 31018, 1001502, 1002812, 1003026, 1003280, 1003289, 1002714, 133191, 5252218, 6007821, 1002632]
</code></pre>

<p>Org_id is a dataFrame which contains duplicate ids .fin_ids is a list which contains unqiue values of ids .Fin ID is a list of unique ids derived from the data frame org_id.</p>

<p>output desired is a CSV with all the values in separate rows as I am going to load the data into a sql table later .</p>

<p>You can get this done in many ways. But if you wish to <code>writerows</code> from the <code>csv</code> module, then you will have to turn your list <code>fin_ids</code> into a sequence of lists first:</p>

<pre><code>fin_ids = [1002774, 0, 1000702, 1000339, 
   1001620, 1000710, 1000202, 1003143, 147897, 
   31018, 1001502, 1002812, 1003026, 1003280, 
   1003289, 1002714, 133191, 5252218, 6007821, 1002632]

outfile = open('D:/dataset/fin_ids.csv','w')
out = csv.writer(outfile)
out.writerows(map(lambda x: [x], fin_ids))
outfile.close()
</code></pre>

<p>Another way would be to just use the <code>.to_csv()</code> method from pandas <code>Series</code>. Since you started with a dataframe, you could just do:</p>

<pre><code>org_city_id['org_id'].unique().to_csv("D:/dataset/fin_ids.csv", index=False)
</code></pre>

<p>Both of these should generate a csv file with the following data:</p>

<pre><code>1002774
0
1000702
1000339
1001620
1000710
1000202
1003143
147897
31018
1001502
1002812
1003026
1003280
1003289
1002714
133191
5252218
6007821
1002632
</code></pre>

python csv