打开非utf-8 csv文件Python 3

时间:2016-10-03 12:05:45

标签: python csv utf-8

我有一个不是utf-8编码的csv文件。在Python 3中打开它似乎是不可能的。我已经尝试了各种.encode() Windows-1252ISO-8859-1latin-1 - 每次我都会

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 = ';')

1 个答案:

答案 0 :(得分:3)

只需在打开文件时指定编码:

with open("xxx.csv", encoding="latin-1") as fd:
    rd = csv.reader(fd)
    ...

或使用您自己的代码:

csv.reader(open('myFile.csv', 'r', encoding='latin1'), delimiter = ';')