我正在尝试从我拥有的巨大csv文件中读取数据。我正在向我显示此错误UnicodeDecodeError: 'utf-8' codec can't decode byte 0xae in position 13: invalid start byte
。有没有办法只是跳过引起此异常的行?从数百万行中,这些只是少数,我无法手动删除它们。我尝试添加error_bad_lines = False,但这并没有解决问题。我使用的是通过Anaconda 4.4.0获得的Python 3.6.1。如果有帮助,我也在使用Mac。请帮助我,我是新手。
答案 0 :(得分:0)
在我看来,文件中有一些无法解码的非ascii字符。 Pandas接受编码作为read_csv的参数(如果有帮助):
my_file = pd.read_csv('Path/to/file.csv', encoding = 'encoding')
默认编码为None,这就是您可能会收到这些错误的原因。Here is a link to the standard Python encodings - 尝试“ISO-8859-1”(又名“latin1”)或“utf8”开始。
Pandas允许您在读取csv时指定要跳过的行,但是您需要知道这些行的索引,在您的情况下这将非常困难。