我有一个以下列方式编写的csv文件(Python 2.7):
with open(fileName, ‘w’) as csvOutput:
testData = csv.writer(csvOutput)
testData.writerow([name.encode(‘utf-8’)])
我期待utf-8
编码可以阻止像'©替换生成的CSV中应该包含的内容。
尝试将文件转换为正确的编码时,例如,é显示为\ x92 \ xa9,我无法转换它:
with open(“fileToConvert.csv”, "r") as f:
rows = list(csv.reader(f, delimiter=","))
for row in rows:
print row # this will print something like \x92\xa9, but will show as ’© in the file`
使用下面使用的unicodecsv模块作为csv,我可以使用latin-1
参数将é写入CSV,但它不能与此文件一起使用,只使用已经编码的字符串。处理任何字符的系统都是理想的,但要弄清楚这个编码问题是优先考虑的事情。
with open('unicodeTest.csv', 'wb') as csvOutput:
testData = csv.writer(csvOutput, encoding='latin-1')
testData.writerow(['é'])