'ascii'编解码器无法编码字符x

时间:2018-06-21 14:54:16

标签: python-2.7 csv character-encoding decoding

我正在尝试向.csv文件中写入一些特殊字符。我的代码在这里:

fp = open(csv_file, 'w')
test = []
test.append(unicode('òHeyàù', 'utf-8'))
fp.write('\t'.join(test[0].encode('UTF-8')))
fp.write('\n')

这是输出:

  

ÃHeyù

我猜应该被解码。所以我写了这个:

test = []
test.append('òHeyàù'.encode('utf-8'))
fp.write('\t'.join(test[0].decode('UTF-8')))
fp.write('\n')

出现以下错误:

  

UnicodeDecodeError:“ ascii”编解码器无法解码位置中的字节0xc3   0:序数不在范围内(128)

如何将特定字符写入CSV文件?

编辑: 我试图将字符串转换为ascii,但是它仍然无法正常工作:

test = [] 
test.append(unicode('òHeyàù', 'utf-8'))
testtest = test[0].encode('UTF-8') 
swriter = csv.writer(fp, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL) 
swriter.writerow([ord(c) for c in testtest]) # converting string to ascii however it prints a list of numbers

0 个答案:

没有答案