从字符串中提取整数

时间:2015-12-02 06:18:35

标签: python-2.7 beautifulsoup noaa

我需要一些帮助从美丽的汤创建的字符串中提取整数。这是我的以下代码。

# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup

#San Pedro 
url = "http://www.ndbc.noaa.gov/mobile/station.php?station=46222"
r = requests.get(url)

soup = BeautifulSoup(r.content, "html.parser")

g_data = soup.find_all("body")

for item in g_data:
    #Wheater Conditions
       print item.contents[6]

    #Wave Summary 
       print item.contents[9]

我得到以下输出。

太平洋标准时间下午9点19分 - 2015年12月1日 海洋: 3.9英尺(1.2米)
高峰期: 15秒
水温: 65°F(18°C)

太平洋标准时间下午9点19分 - 2015年12月1日 膨胀: 3.0英尺(0.9米)
期间: 15.4秒
方向: W
风浪: 2.3英尺(0.7米)
期间: 9.9秒
方向: W

HTML版本

 <p>9:19 pm PST 01-Dec-2015<br>
<b>Seas:</b> 3.9 ft (1.2 m)<br>
<b>Peak Period:</b> 15 sec<br>
<b>Water Temp:</b> 65 °F (18 °C)<br>
</br></br></br></br></p>
<p>
9:19 pm PST 01-Dec-2015<br>
<b>Swell:</b> 3.0 ft (0.9 m)<br>
<b>Period:</b> 15.4 sec<br>
<b>Direction:</b> W<br>
<b>Wind Wave:</b> 2.3 ft (0.7 m)<br>
<b>Period:</b> 9.9 sec<br>
<b>Direction:</b> W<br>
</br></br></br></br></br></br></br></p>

我需要获得每个类别的个人价值I.E.如此膨胀= 3.0

由于

2 个答案:

答案 0 :(得分:0)

不是这是最好的解决方案,但是这样的事情应该这样做:

def extractInt(string) :
    stringToReturn = ""
    for x in string :
        if x.isdigit() or x==" " :
            stringToReturn = stringToReturn + x
    return stringToReturn

只需在您想要的字符串上调用此函数即可。

答案 1 :(得分:0)

如果要使用浮点数,则希望浮点数为整数。只需从字符串中获取数字即可:

if your_string.isdigit():
    your_float = float(your_string)