[英]Python | Pyodbc | Encoding FetchAll() to Utf-8 with .Encode('utf-8')
提前致谢。 我对python还是很陌生。
我正在尝试使用FetchAll将pyodbc查询的结果写入CSV文件。 当我在舞台服务器上运行代码时,一切正常。 在我们的Live服务器上,数据存在编码问题。 我一直在尝试以几种不同的方式对FetchAll()的结果进行编码,但似乎没有任何效果。 您不能在列表元素上调用它,也不能在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库,它很容易解决了问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.