我使用beautifulsoup4从网站中提取价格标签。我使用的代码就是这个
#price
try:
price = soup.find('span',{'id':'actualprice'})
price_result= str(price.get_text())
print "Price: ",price_result
except StandardError as e:
price_result="Error was {0}".format(e)
print price_result
我得到的输出是一个带有逗号格式的字符串。例如
82,000,00
我想要的是什么:
将格式从字符串价格更改为整数价格,不含逗号,以便我可以将它们用作excel中字符串的值整数
答案 0 :(得分:3)
你可以这样做:
>>> string = '82,000,00'
>>> int(price_result.replace(',', ''))
8200000
答案 1 :(得分:1)
结帐https://docs.python.org/2/library/string.html或https://docs.python.org/3/library/string.html,具体取决于您使用的Python版本,并使用" replace()"功能:
int_price = int(price_result.replace(',',''))
这将替换字符串中的所有逗号,然后将其强制转换为INT:
>>> price = "1,000,000"
>>> type(price)
<type 'str'>
>>> int_price = int(price.replace(',',''))
>>> type(int_price)
<type 'int'>
>>>
答案 2 :(得分:1)
如果最后一部分是小数部分,你可以这样做:
import re
r = re.compile(r'((?:\d{1,3},?)+)(,\d{2})')
m = r.match('82,000,00')
v = m.group(1).replace(',', '') + m.group(2).replace(',', '.')
print(float(v))
输出:
82000.0
答案 3 :(得分:1)
import re
''.join(re.findall(r'\d+', '82,000,00'))
或其他方法,
int(filter(str.isdigit, '82,000,00'))