2016-11-14 36 views
0

我從一個HTML表格刮數據空,一旦我有使用BeautifulSoup HTML數據,我生成列彩車的列表。對於我的應用程序,我想比較成對的浮點數(例如列表[0]與列表[1],列表[2]和列表[3]等)。它運作良好,但是當有空單元時會下降,因爲我的計算結果不同步 - 例如,列表[n]與列表[n + 2]進行比較。如何跳過HTML錶行(TR),當一列(TD)在Python 3

這是我用它來生成配對值的列表的代碼(數值開始爲字符串分數和我轉換爲浮動):

amounts = table_body.find_all('td', attrs={'class': True}) 
amounts = [ele.text.strip('()') for ele in amounts] 
amounts = [float(fractions.Fraction(x))+1 for x in amounts] 
amountspairs = [odds[x:x+2] for x in range(0, len(amounts), 2)] 

所以我的問題是你如何獲得發言權的價值0,當單元格爲空時 - 我正在抓取的頁面只有一個空單元格,而有一些單元格的屬性確實有值 - 在我剛剛使用的代碼中
class = True

爲空的單元中的HTML代碼< TD> & NBSP; </TD>,所以我試圖找出如何讓BeautifulSoup返回一個值,而不是忽略它,或者如果跳過該行如果單元格是空的一種方式。

非常感謝(從初學者)爲我的作品

回答

0
l = [] 
for i in soup.find_all('td'): 
    if i.text: 
     l.append(float(i.text)) 
    else: 
     l.append(float(0)) 
+0

大千恩萬謝 – strangecarr