所以我试图创建一个真值表,我可以将其导出为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
我不知道从哪里开始,因为我觉得我已经非常接近我想要的格式了。
答案 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)