我有一个py脚本,其中包括使用BeautifulSoup从HTML表中解析一个值。
返回的值(outTempReal)似乎在值之后有一些空格。我知道这是因为我使用的印刷品......
print "Temp 1 =", avgtemperatures[0],
print "Temp 2 =", avgtemperatures[1],
print "Temp 3 =", avgtemperatures[2],
print "Temp 4 =", avgtemperatures[3],
print "Temp 5 =", avgtemperatures[4],
print "Outside Temp =", outTempReal,
print "METAR Temp =", currentTemp,
print "Plant Room Temp =", avgtemperatures[5],
print "Flow Temp =", avgtemperatures[6],
print "Return Temp =", avgtemperatures[7]
返回以下内容......
Temp 1 = 79.625 Temp 2 = 79.1456666667 Temp 3 = 31.229 Temp 4 = 28.125 Temp 5 = 27.2706666667 Outside Temp = 4.8 METAR Temp = 5 Plant Room Temp = 16.7913333333 Flow Temp = 13.875 Return Temp = 18.312
您可以看到在Outside Temp = 4.8之后,在下一个打印值之前有空格。
这是用于获取值的代码......
table = soup.find('table')
for row in table.findAll('tr')[1:]:
col = row.findAll('td')
if len(col) >= 2:
time = col[1].string
temp = col[2].string
outTempReal = re.sub(r'[^0-9\-\d.\s+]',' ', temp)
我尝试了以下两种方法来删除空格,但没有快乐......
outTempReal.strip()
re.sub('\s+',' ',outTempReal)
我真的需要这个值只是十进制数,因为它用于更新RRD。
有人可以帮忙吗?
答案 0 :(得分:0)
.rstrip()
会修剪任何尾随空格:
>>> thing = 'value '
>>> thing
'value '
>>> thing.rstrip()
'value'