解码pandas read_html中的不间断空格

时间:2018-03-20 01:06:24

标签: python pandas

pandas.read_html的默认行为似乎是将 个字符转换为unicode \xa0代码:

url = 'http://www.reuters.com/finance/stocks/company-officers/IBM'
ibm = pd.read_html(url, header=0)[0]
ibm.iloc[0,0]
  

'弗吉尼亚\ xa0Rometty'

我知道我可以使用转换器将这些转换为空格,如下所示:

spacer = lambda s: s.replace(u'\xa0', ' ')
ibm = pd.read_html(url, header=0, converters={'Name':spacer})[0]
ibm.iloc[0,0]
  

'Virginia Rometty'

对于必须非常普遍的事情,这似乎不必要地复杂化。还有另外一种方法吗?也许是encoding选项?

1 个答案:

答案 0 :(得分:2)

我不认为编码选项会解决这个问题,但你可以摆脱它们。使用str.replace,您可以删除任何非ASCII并用空格替换它。

ibm['Name'] = ibm['Name'].str.replace('[^\x00-\x8F]', ' ') 

或者,只是不间断的空间 -

ibm['Name'] = ibm['Name'].str.replace('\xa0', ' ')