将Python列表导出到csv

时间:2013-08-07 03:51:38

标签: python csv

所以我试图创建一个真值表,我可以将其导出为csv或excel格式。我是Python的新手,所以如果我的代码太可怕,请耐心等待。

经过一些研究后,我开始将其作为真值表的代码:

import itertools 
table = list(itertools.product([False, True], repeat=6)) 
print(table)

然后我得到了这段代码:

import csv
import sys
with open('C:\\blahblah5.csv','w') as fout:
writer = csv.writer(fout, delimiter = ',')
writer.writerows(table)

这让我几乎到了csv格式的真值表所需的位置。但是,当我在excel中打开文件时,我的记录之间插入了空白行。 我尝试了一个在网上找到的提示,我需要将输入类型从w更改为wb,但是当我这样做时出现此错误:

Traceback (most recent call last):
File "<pyshell#238>", line 3, in <module>
writer3.writerows(table)
TypeError: 'str' does not support the buffer interface

我不知道从哪里开始,因为我觉得我已经非常接近我想要的格式了。

2 个答案:

答案 0 :(得分:7)

我怀疑你正在使用Python 3.你打开文件写csv的方式改变了一点:如果你写的话

with open("C:\\blahblah5.csv", "w", newline="") as fout:

它应该工作,生成一个看起来像

的文件
False,False,False,False,False,False
False,False,False,False,False,True
False,False,False,False,True,False
[etc.]

答案 1 :(得分:1)

如果不使用python3,则应使用"wb"打开文件。

import csv

with open('C:\\blahblah5.csv','wb') as fout:
    writer = csv.writer(fout)
    writer.writerows(table)