首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用FetchAll(‘Utf-8’)将.Encode()编码为utf-8

用FetchAll(‘Utf-8’)将.Encode()编码为utf-8
EN

Stack Overflow用户
提问于 2015-02-09 19:49:52
回答 1查看 797关注 0票数 1

提前谢谢。我对蟒蛇还是很陌生的。

我试图使用FetchAll将pyodbc查询的结果写入CSV文件。当我在舞台服务器上运行代码时,一切都很好。在我们的Live服务器上,数据存在编码问题。我一直在尝试用几种不同的方式对FetchAll()的结果进行编码,但似乎没有什么效果。您不能在list元素上调用它,也不能在for循环中调用它,它会在整数上被捕获并失败。

有什么简单的办法能解决这个问题吗?我看过其他一些相关的票,并认为我找到了答案,但正如我前面提到的,编码是在整数上进行的。所以我承认这部分是缺乏经验的。

任何帮助都将不胜感激。这是相关代码。

代码语言:javascript
复制
        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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-11 19:30:26

最后我使用了unicodecsv库,它很容易地解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28418050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档