我正在尝试读取名为 df1 的数据集,但它不起作用
import pandas as pd
df1=pd.read_csv("https://raw.githubusercontent.com/tuyenhavan/Statistics/Dataset/World_Life_Expectancy.csv",sep=";")
df1.head()
上面的代码有很大的错误,但这是最相关的
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 18: invalid start byte
原文由 Tuyen 发布,翻译遵循 CC BY-SA 4.0 许可协议
数据确实没有编码为 UTF-8;除单个 0x92 字节外,所有内容均为 ASCII:
将其解码为 Windows 代码页 1252 ,其中 0x92 是花哨的引用,
’
:演示:
但是我注意到,当您从 URL 加载数据时,Pandas 似乎也采用 HTTP 标头的面值并生成 Mojibake 。当我将数据直接保存到磁盘, 然后 使用
pd.read_csv()
加载它时,数据被正确解码,但从 URL 加载会产生重新编码的数据:这是 Pandas 中的一个已知错误。您可以通过使用
urllib.request
加载 URL 并将其传递给pd.read_csv()
来解决此问题: