繁体   English   中英

Python | Pyodbc | 使用.Encode('utf-8')将FetchAll()编码为Utf-8

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM