使用Python的CSV库将数组打印为csv文件

时间:2015-04-29 14:37:43

标签: python arrays csv python-3.x export-to-csv

我有一个python列表:

[['a','b','c'],['d','e','f'],['g','h','i']]

我正在尝试将其转换为csv格式,以便将其加载到excel中:

a,b,c
d,e,f
g,h,i

使用这个,我试图将arary写入csv文件:

with open('tables.csv','w') as f:
    f.write(each_table)

然而,它打印出来:

[
[
'
a
'
,
...
...

然后我尝试将它放入一个数组(再次),然后打印它。

each_table_array=[each_table]
with open('tables.csv','w') as f:
        f.write(each_table_array)

现在当我打开csv文件时,它是一堆未知的字符,当我将它加载到excel中时,我会为每个单元格获得一个字符。

不太确定是否使用了csv库错误或数组部分。

我只是想通了我从中提取数据的表在其中一个单元格中有另一个表格,这扩展了并且弄乱了整个格式

1 个答案:

答案 0 :(得分:2)

使用csv模块处理csv文件时,使用universal模块更加灵活和pythonic注意,在python 2中,您需要newline=''中的方法open *功能。那么您可以使用csv.writer打开csv文件进行写入:

import csv
with open('file_name.csv', 'w',newline='') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter=',')
    spamwriter.writerows(main_list)

<子> 来自python wiki:如果换行=&#39;&#39;未指定,嵌入在引用字段中的换行符将无法正确解释,并且在写入时使用\ r \ n linendings的平台上将添加额外的\ r \ n。指定newline =&#39;&#39;应始终是安全的,因为csv模块会执行自己的(Async)换行处理。