问题描述
我关注这个网站,直到倒数第二行,它运行良好。
我在使用过程中遇到错误
sample_df = pd.read_csv(io.StringIO(uploaded['sa.csv'].decode('utf-8')))
sample_df.head()
对于sample_df = pd.read_csv(io.StringIO(uploaded['sa.csv'].decode('utf-8')))
,它说明了这一点:
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-44-c79110307396> in <module>()
----> 1 sample_df = pd.read_csv(io.StringIO(uploaded['sa.csv'].decode('utf-8')))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe2 in position 2716736: invalid continuation byte
对于sample_df.head()
,它说明了这一点:
NameError Traceback (most recent call last)
<ipython-input-43-c589eab13420> in <module>()
----> 1 sample_df.head()
NameError: name 'sample_df' is not defined
有人可以帮我解决这个问题吗?
解决方法
您的 sample_df = pd.read_csv(io.StringIO(uploaded['sa.csv'].decode('utf-8')))
没有执行它导致编码错误!
因此未创建 sample_df
,这就是您收到错误 NameError: name 'sample_df' is not defined
您可以尝试:pd.read_csv('file',encoding = "ISO-8859-1")
您还可以使用多个 alias
选项之一,例如 'latin'
而不是 'ISO-8859-1'
(参见 python docs,也可以了解您可能遇到的许多其他编码)。
请参阅 relevant Pandas documentation、python docs examples on csv files 和 SO 上的大量相关问题。 What every developer should know about unicode and character sets 是一个很好的背景资源。