2017-02-18 16 views
0
for tables in apple_tables: 
    text = tables.getText() 
    a = len(re.findall(r"\d", text)) 
    b = len(text) 
    print(a/b) 
    print(text) 
    if a/b >= .1: 
     apple_soup_16.remove? replace? #I need all text in this instance completely gone 

これまで私がこれまで持っていたことは次のとおりです。本質的に、私が起こる必要があるのは、各テーブル(そのうちのリストを持つ)の文字の10%以上が数字である場合、このループのインスタンスからBeautifulSoupインスタンスからテーブル全体を削除する必要があるということです。
これは既にBeautifulSoupに入っていますか?そうでない場合は、BSに入れる前にどうすればいいですか?特定の条件が指定されている場合、BeautifulSoupインスタンスから文字列を削除するにはどうすればよいですか?

ありがとう、私はここで何をしようとしているのかはっきりしていると思います。私はBeautifulSoupライブラリの問題がほとんどだと思っていますが、私はあまり使っていません。

編集:ここでは、各テーブルにはapple_tablesでどのように見えるかの最初の2つの例は以下のとおりです。

(<table cellpadding="0" cellspacing="0" style="FONT-FAMILY:TIMES NEW ROMAN;FONT-SIZE:10PT;MARGIN-LEFT:AUTO;MARGIN-RIGHT:AUTO;WIDTH:100%;BORDER-COLLAPSE:COLLAPSE;TEXT-ALIGN:LEFT;"><tr><td colspan="1"></td></tr><tr><td style="WIDTH:100%;"></td></tr><tr><td style="VERTICAL-ALIGN:BOTTOM;PADDING-LEFT:2PX;PADDING-TOP:2PX;PADDING-BOTTOM:2PX;PADDING-RIGHT:2PX;BORDER-TOP:1PX SOLID #000000;BORDER-BOTTOM:1PX SOLID #000000;"><div style="OVERFLOW:HIDDEN;HEIGHT:5PX;FONT-SIZE:10PT;"><font style="FONT-FAMILY:INHERIT;FONT-SIZE:10PT;"> </font></div></td></tr></table>, 
<table cellpadding="0" cellspacing="0" style="FONT-FAMILY:TIMES NEW ROMAN;FONT-SIZE:10PT;MARGIN-LEFT:AUTO;MARGIN-RIGHT:AUTO;WIDTH:19.53125%;BORDER-COLLAPSE:COLLAPSE;TEXT-ALIGN:LEFT;"><tr><td colspan="1"></td></tr><tr><td style="WIDTH:100%;"></td></tr><tr><td style="VERTICAL-ALIGN:BOTTOM;PADDING-LEFT:2PX;PADDING-TOP:2PX;PADDING-BOTTOM:2PX;PADDING-RIGHT:2PX;BORDER-BOTTOM:1PX SOLID #000000;"><div style="OVERFLOW:HIDDEN;HEIGHT:5PX;FONT-SIZE:10PT;"><font style="FONT-FAMILY:INHERIT;FONT-SIZE:10PT;"> </font></div></td></tr></table>) 

apple_soup_16は、複数の企業のための全体のhtmlの現在フルBSインスタンスです。私は、テーブルのインスタンスがそのBeautifulSoupオブジェクトから削除される10%を超える数を持つ必要があります。これらのテーブルがBSオブジェクトから直接来るので、ここにBeautifulSoupコードを置くことは本当に必要ではありません。すべてのテーブルはスープの中にありますが、私は10%のものだけを取り除く必要があります。

+0

を使用することができます。 –

+0

テキストのみを抽出しますか? –

+0

私は企業向けの年次レポートを作成しています。ループのインスタンスの文字の10%以上が数字の場合は、インスタンス内のすべてが必要になります。 – JRE0714

答えて

0

あなたは詳細コードを提供clear()

tables.clear() 

またはdecompose

tables.decompose() 
関連する問題