使用pd.read_csv导入csv-无效的起始字节错误

时间:2019-01-10 16:54:04

标签: python-3.x pandas

我正在尝试使用以下命令导入csv文件:

data = pd.read_csv("filename.csv")

我收到以下错误:"UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 2: invalid start byte".

此问题的答案:UnicodeDecodeError: 'utf8' codec can't decode byte 0x9c 也许可以,但是我不确定如何实现(因为我还没有足够的声誉,所以我无法对答案发表评论。)

任何帮助将不胜感激。

编辑:问题似乎与我有学位标志的事实有关。如果在导入过程中跳过此问题,对我来说很好。

3 个答案:

答案 0 :(得分:4)

如果由于文件上的编码不是pd.read_csv()文档中提到的默认编码而导致编码错误,则可以先安装document,然后再执行以下操作,找到文件的编码代码:

import chardet    
rawdata = open('D:\\path\\file.csv', 'rb').read()
result = chardet.detect(rawdata)
charenc = result['encoding']
print(charenc)

这将为您提供文件的编码。

一旦有了编码,就可以读为:

pd.read_csv('D:\\path\\file.csv',encoding = 'encoding you found')

pd.read_csv(r'D:\path\file.csv',encoding = 'encoding you found')

您将获得所有编码chardet的列表

希望您觉得这有用。

答案 1 :(得分:0)

您可以使用熊猫函数read_csv的编码参数。

如果确实需要在utf-8中进行编码,它可能看起来像这样。

import pandas as pd
df = pd.read_csv("filename.csv", encoding = 'utf_8')

答案 2 :(得分:0)

我通过简单地返回到Excel工作表并使用'CSV UTF-8'格式保存来解决了我的问题