我有一个包含twitter数据的UTF-8文件,我试图将其读入Python Dataframe ,但我只能得到一个'object'类型,而不是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
使用Pandas阅读UTF-8数据并将其强制转换为unicode的正确方法是什么?
这并不能解决问题:
df = pd.read_csv('1459966468_324.csv', encoding = 'utf8')
df.apply(lambda x: pd.lib.infer_dtype(x.values))
文本文件在这里:https://raw.githubusercontent.com/l1x/nlp/master/1459966468_324.csv
5条答案
按热度按时间qnyhuwrf1#
正如另一位发帖者提到的,你不妨试试:
然而,这仍然会让你在打印dtype时看到'object'。要确认它们是utf8,在阅读CSV后尝试以下行:
输出示例:
j13ufse22#
将
encoding
关键字与适当的参数一起使用:sxpgvts33#
Pandas用
object
s存储字符串,在python 3中,所有字符串默认为unicode,所以如果你使用python 3,你的数据已经是unicode了(不要被object
类型误导)。如果你有python 2,那么使用
df = pd.read_csv('your_file', encoding = 'utf8')
。然后尝试例如pd.lib.infer_dtype(df.iloc[0,0])
(我猜第一列由字符串组成)kkih6yb84#
看起来这个函数的位置已经移动了。我在1.0.1中使用过这个函数:
ohtdti5x5#
编码关键字的适当参数可能是: