簡體   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