[英]Decoding nonbreaking space in pandas read_html
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
选项?
我不认为编码选项可以解决此问题,但是您可以摆脱它们。 使用str.replace
,您可以摆脱任何非ASCII并将其替换为空格。
ibm['Name'] = ibm['Name'].str.replace('[^\x00-\x8F]', ' ')
或者,只是不间断的空间-
ibm['Name'] = ibm['Name'].str.replace('\xa0', ' ')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.