这是我目前拥有的:
conn = sqlite3.connect(dbfile)
conn.text_factory = str ## my current (failed) attempt to resolve this
cur = conn.cursor()
data = cur.execute("SELECT * FROM mytable")
f = open('output.csv', 'w')
print >> f, "Column1, Column2, Column3, Etc."
for row in data:
print >> f, row
f.close()
它创建一个 CSV 文件,其输出看起来像这样:Column1, Column2, Column3, Etc.
(1, u'2011-05-05 23:42:29',298776684,1448052234,463564768,-1130996322, None, u'2011-05-06 04:44:41')
我不想让行用括号括起来,也不想让字符串带引号或在字符串前加上'u'。我该如何将这些行写入csv文件而不包含这些内容?谢谢。
writer.writerow(['Column 1', 'Column 2'])
给我报错:TypeError: a bytes-like object is required, not 'str'
。但是当我使用w
而不是wb
打开文件时,就不会出现这种情况。我在代码中注释掉了conn.text_factory = str
,我不确定它是否与我得到的错误有关。 - John Smith