提前感谢。我对蟒蛇还很陌生。
我正试图使用FetchAll将pyodbc查询的结果写入CSV文件。当我在后台服务器上运行代码时,一切都很好。在我们的Live服务器上,数据存在编码问题。我一直试图用几种不同的方式对FetchAll()的结果进行编码,但似乎什么都不起作用。你可以;t在列表元素上调用它,或者在for循环中,它被一个整数捕获并失败。
有什么简单的方法可以实现这一点的想法吗?我看过其他一些相关的票证,认为我找到了答案,但正如我上面提到的,编码发生在整数上。所以我承认部分原因是缺乏经验。
如有任何帮助,我们将不胜感激。这是相关代码。
f = csv.writer(file(filename, 'wb'))
cnxn = pyodbc.connect(self.connect_string)
c = cnxn.cursor()
c.execute(sql)
rows = c.fetchall()
# rows = [[x.encode('utf-8') for x in row] for row in rows] <---- doesnt work, x.encode is considered an int
if include_headers:
f.writerow([d[0] for d in c.description])
for row in rows:
f.writerows(row)
我最终使用了unicodecsv库,它很容易解决了这个问题。