[英]encode special characters python for csv output
如何讓csv.writer.writerow
輸出á或è和其他特殊字符沿同一行u,n ......等?
我收到錯誤UnicodeEncodeError:'ascii'編解碼器無法編碼位置37中的字符u'\\ xed':序號不在范圍內(128)
嘗試了本文中的一些建議但沒有用
rowPrinter = []
while x < y:
print "Data in at Line " + str(x + 1)
rowPrinter.append([a[x], b[x], c[x]]])
x = x + 1
x = 0
writer = csv.writer(outcsv, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL, lineterminator='\n')
writer.writerow(['a', 'b', 'c'])
while x < y:
print rowPrinter[x]
writer.writerow(rowPrinter[x])
您需要對要寫入的所有數據進行編碼:
writer.writerow([sub.encode("utf-8") for sub in rowPrinter[x]])
如果您有混合數據:
writer.writerow([sub.encode("utf-8") if isinstance(sub, basestring) else sub for sub in rowPrinter[x]])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.