【发布时间】:2013-12-05 07:25:56
【问题描述】:
我正在使用 LXML 从网页中抓取一些文本。一些文本包括分数。
5½
我需要把它变成浮点格式。这些失败:
ugly_fraction.encode('utf-8') #doesn't change to usable format
ugly_fraction.replace('\xbd', '') #throws error
ugly_freaction.encode('utf-8').replace('\xbd', '') #throws error
【问题讨论】:
-
没有将分数字符转换为浮点数的本机功能。您所有的编码/解码都将实现将一个字符转换为另一个字符。您需要一个更全面的函数来识别每个分数并将其转换为数值。某种使用映射到等效浮点值的 unicode 键的字典查找。
-
这就是我试图用 replace() 函数做的事情,但我也无法让它工作。我该怎么做?
-
@SpliFF:是的,有本地功能可以做到这一点。
-
您是要提取实际的浮点值,还是只想将字符串中的所有小数表示形式转换为小数形式?
-
@abarnert:想详细说明一下吗?
标签: python unicode web-scraping lxml