0
我有一个包含字母txt文件(“øæå”),我想这个脚本来认识这个字母和正确并写入到CSV文件。转换ISO-8859-1到UTF-8(øæå)
with codecs.open('transaksjonliste.txt', 'r', 'ISO-8859-1') as file:
for line in file:
line = file.readline()
lineS = line.encode('ISO-8859-1', 'ignore').decode('utf-8')
splitTab = lineS.split(';')
for s in splitTab:
newS = s[1:-1]
date = splitTab[0].replace('.', '/')
insertList = [date,]
out.writerow(date)
给出:
File "Q:\DropBox\Development\Scripts\tes2.py", line 17, in <module>
lineS = line.encode('ISO-8859-1', 'ignore').decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf8 in position 14: invalid start byte
为什么你都循环*和*调用'readline()'?为什么编码Latin-1然后从UTF-8解码?你的数据不是编码错误,那个奇怪的舞蹈是什么原因导致你的异常。 – 2014-09-30 09:28:36
您还忽略'insertList'并没有告诉我们out'是什么';是一个'csv.writer()'对象? – 2014-09-30 09:36:01
对不起,我的无知。不知道不需要调用readline()。 @MartijnPieters insertList是一项正在进行的工作,但不应该成为这里的问题。是的失是csv.writer()对象。感谢您的提升 – RoarG 2014-09-30 17:02:37