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