实际上,数据被正确解析为unicode https://docs.python.org/2/howto/unicode.html#the-unicode-type, not strs
. The u
前缀表明该对象是unicode
。当打印列表、元组或 NumPy 数组时,Python 会显示repr
序列中的项目。因此,不要看到印刷版本unicode
,你看到repr
:
In [160]: repr(u'Cristina Fern\xe1ndez de Kirchner')
Out[160]: "u'Cristina Fern\\xe1ndez de Kirchner'"
In [156]: print(u'Cristina Fern\xe1ndez de Kirchner')
Cristina Fernández de Kirchner
目的repr https://stackoverflow.com/q/1436703/190597是为每个对象提供明确的字符串表示。由于不可见或不可打印的字符,unicode 的打印版本可能不明确。
但是,如果打印 DataFrame 或 Series,您将获得 unicode 的打印版本:
In [157]: df = pd.DataFrame({'foo':np.array([u'4th of July', u'911', u'Abab', u'Abass', u'Abcar', u'Abced',
u'Ceded', u'Cedes', u'Cedfus', u'Ceding', u'Cedtim', u'Cedtol',
u'Cedxer', u'Chevrolet Corvette', u'Chuck Norris',
u'Cristina Fern\xe1ndez de Kirchner'], dtype=object)})
.....: .....: .....:
In [158]: df
Out[158]:
foo
0 4th of July
1 911
2 Abab
3 Abass
4 Abcar
5 Abced
6 Ceded
7 Cedes
8 Cedfus
9 Ceding
10 Cedtim
11 Cedtol
12 Cedxer
13 Chevrolet Corvette
14 Chuck Norris
15 Cristina Fernández de Kirchner
[16 rows x 1 columns]