如何用Pandas读取UTF-8文件?

Ist*_*van 17 python csv utf-8 pandas

我有一个带有twitter数据的UTF-8文件,我试图将它读入Python数据框但我只能得到一个'对象'类型而不是unicode字符串:

# file 1459966468_324.csv
#1459966468_324.csv: UTF-8 Unicode English text
df = pd.read_csv('1459966468_324.csv', dtype={'text': unicode})
df.dtypes
text               object
Airline            object
name               object
retweet_count     float64
sentiment          object
tweet_location     object
dtype: object
Run Code Online (Sandbox Code Playgroud)

使用Pandas读取和强制UTF-8数据到unicode的正确方法是什么?

这并没有解决问题:

df = pd.read_csv('1459966468_324.csv', encoding = 'utf8')
df.apply(lambda x: pd.lib.infer_dtype(x.values))
Run Code Online (Sandbox Code Playgroud)

文本文件在这里:https: //raw.githubusercontent.com/l1x/nlp/master/1459966468_324.csv

Sam*_*Sam 17

正如另一张海报所提到的,你可以尝试:

df = pd.read_csv('1459966468_324.csv', encoding='utf8')
Run Code Online (Sandbox Code Playgroud)

但是,当您打印dtypes时,这仍然会让您看到'对象'.要确认它们是utf8,请在阅读CSV后尝试以下行:

df.apply(lambda x: pd.lib.infer_dtype(x.values))
Run Code Online (Sandbox Code Playgroud)

示例输出:

args            unicode
date         datetime64
host            unicode
kwargs          unicode
operation       unicode
Run Code Online (Sandbox Code Playgroud)


Ste*_*fan 5

使用encoding带有适当参数的关键字:

df = pd.read_csv('1459966468_324.csv', encoding='utf8')
Run Code Online (Sandbox Code Playgroud)