打开非utf-8 csv文件Python 3
问题描述:
我有一个不是utf-8
编码的csv文件。它似乎是不可能出现在Python 3,打开它,我已经试过各种.encode()
Windows-1252
,ISO-8859-1
,latin-1
- 每次我得到打开非utf-8 csv文件Python 3
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfc in position 279: invalid start byte
的0xfc
字节是德国ü
我承认,我的判断力受到影响,因为我现在正在与这个问题长期斗争。我错过了什么?我一直在使用Python中的unicode出现问题,但这个看起来特别固执。
这是我第一次尝试与Python 3一起工作,据我所知没有.decode()
了,这可能已经解决了第二个问题。
编辑: 代码打开文件:
import unicodecsv as csv
csv.reader(open('myFile.csv', 'r'), delimiter = ';')
答
只需指定编码时开放文件:
with open("xxx.csv", encoding="latin-1") as fd:
rd = csv.reader(fd)
...
或用自己的代码:
csv.reader(open('myFile.csv', 'r', encoding='latin1'), delimiter = ';')
+0
非常感谢!我越来越绝望。 – Zlo
如何你的文件编码,你的代码是如何打开文件的? – Matthias
@Matthias就是这个问题 - 我没有创建文件,也没有想法它是如何编码的。 在问题中编辑我的代码。 – Zlo
在'open'中,指定'encoding =“latin-1”'参数。 – cdarke