我试图解析一个包含数字的字符串,当我尝试将其转换为浮点数时,它给出了一个错误:
ValueError:无法将字符串转换为float:'8,900'
我的代码:
soup=BeautifulSoup(content,"html.parser")
element=soup.find("div",{"class":"_1vC4OE _3qQ9m1"})
price=element.text
price_without_symbol=price[1:]
print(float(price_without_symbol));
输出:
“C:\ Users \ SHIVAM TYAGI \ PycharmProjects \ price-of-chair1 \ venv \ Scripts \ python.exe”“C:/ Users / SHIVAM TYAGI / PycharmProjects / price-of-chair1 / src / app.py”Traceback(最近一次调用最后一次):文件“C:/ Users / SHIVAM TYAGI / PycharmProjects / price-of-chair1 / src / app.py”,第9行,打印(float(price_without_symbol)); ValueError:无法将字符串转换为float:'8,900'
根据使用的numeric convention,逗号可以表示千位分隔符或小数点。
Python float
numbers syntax使用点(.
)作为小数点和可选的下划线(_
)作为千位分隔符,仅为了可读性。
这意味着您需要知道您正在阅读的数字使用哪种数字约定。
在您的情况下,您似乎正在使用美国英语数字惯例阅读数字。
美英| 4,294,967,295.00
您只需删除充当千位分隔符的逗号即可。
price_without_symbol=price[1:].replace(',', '')
print(float(price_without_symbol))