You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将网页解析的文本型参考价格转换为整数?

解决字符串转整数问题

你遇到的问题根源在于:直接对带小数的字符串调用int()会报错,且astype(int)是Pandas Series/DataFrame专属方法,不能直接用在普通字符串变量上。下面提供两种可行的解决方式:

方式一:解析阶段直接处理

在循环提取数据时就完成类型转换,避免后续麻烦:

###### Parsing   
tbody = table.tbody
reference_price_list = []  # 先初始化空列表
for i, tr in enumerate(tbody.find_all('tr')):      
    reference_price = tr.find('td').text.strip()  # 先去除文本前后的空格
    # 方法1:先转浮点数再转整数(自动截断小数部分)
    price_int = int(float(reference_price))
    # 方法2:按小数点分割取前半段(适合确定字符串格式规范的场景)
    # price_int = int(reference_price.split('.')[0])
    reference_price_list.append(price_int)

###### Convert to dataframe 
df = pd.DataFrame(data=reference_price_list, columns=['price'])

方式二:生成DataFrame后统一处理

如果已经生成了包含字符串价格的DataFrame,可以批量转换:

# 假设df已生成,'price'列为字符串类型
df['price'] = df['price'].astype(float).astype(int)
# 或者用apply自定义处理逻辑
# df['price'] = df['price'].apply(lambda x: int(float(x)))

额外提示:如果解析到的字符串包含非数字内容(比如货币符号、千分位逗号),需要先清理,例如:reference_price = tr.find('td').text.strip().replace('¥', '').replace(',', '')

内容的提问来源于stack exchange,提问作者user21084142

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 08:40:48