【问题标题】:Python | Pyodbc | Encoding FetchAll() to Utf-8 with .Encode('utf-8')蟒蛇 |数据库 |使用 .Encode('utf-8') 将 FetchAll() 编码为 Utf-8
【发布时间】:2015-02-09 19:49:52
【问题描述】:

提前致谢。我对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 库。

标签: python csv encoding utf-8 pyodbc


【解决方案1】:

我最终使用了 unicodecsv 库,它轻松解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 1970-01-01
    • 2012-11-07
    • 2012-04-24
    • 2015-11-08
    • 2021-03-22
    • 1970-01-01
    相关资源
    最近更新 更多