簡體   English   中英

寫入CSV文件時如何解決編碼問題

[英]How to fix encoding issue when writing to csv file

寫入csv文件時我有一些編碼issuse

我該如何解決

import csv


a = [s.encode('utf-8') for s in a]
f3 = open('test.csv', 'at')
writer = csv.writer(f3,delimiter = ',', lineterminator='\n',quoting=csv.QUOTE_ALL)
writer.writerow(a)

錯誤

Traceback (most recent call last):
  File "test.py", line 6, in <module>
    a = [s.encode('ascii') for s in a]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 1: ordinal not in range(128)

如何使程序工作並將其寫入csv文件?

我運行了您的代碼,它可以正常運行而不會引發任何錯誤。 唯一的問題是您的csv文件包含字節編碼的值。 前面帶有ab'的值。 這是您要完成的工作嗎? 我正在使用python 3.5.2。

如果您不希望使用字節編碼的數據,只需刪除

a = [s.encode('utf-8') for s in a]

它應該工作。 當我在計算機上運行數據時,這是將數據輸出到csv中的結果。

http://puu.sh/r8ksr/d778437622.png

# encoding=utf8  
import sys  

reload(sys)  
sys.setdefaultencoding('utf8')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM