我正在尝试向.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