私は Python の初心者で、解決できない問題が発生しています (約 100 万回の Google 検索を行った後でも)。
100 個を超える html ファイルがあり、それぞれにいくつかのテーブルが含まれています。最終的に、ファイル内の最初の HTML テーブルの各行を python のリストとして保持したいと思いますが、HTML タグは使用しません。最初のステップとして、HTML タグを取り除く方法を見つけようとしています。次に、これをリストとしてインポートする方法を見つける必要があります。
私のHTMLファイルは次のようになります。
<tr><td>1</td><td>FORWARD</td><td>72</td><td>20</td><td>60.29</td><td>55.00</td><td>5.00</td><td>3.00</td></tr>
<tr><td> </td><td>REVERSE</td><td>258</td><td>20</td><td>60.11</td><td>45.00</td><td>4.00</td><td>3.00</td></tr>
<tr><td>2</td><td>FORWARD</td><td>77</td><td>20</td><td>60.08</td><td>50.00</td><td>5.00</td><td>2.00</td></tr>
<tr><td> </td><td>REVERSE</td><td>258</td><td>20</td><td>60.11</td><td>45.00</td><td>4.00</td><td>3.00</td></tr>
そして、私が欲しいのは、これを手作業で行った場合と同様に、行からの値をリストに入れることです:
row1 = [FORWARD, 72, 20, 60.29, 55.0, 5.00, 3.00].
BeautifulSoupが役立つかもしれないと読んだので、試してみました:
from bs4 import BeautifulSoup
def removeTags(html, *tags):
soup = BeautifulSoup(html)
for tag in tags:
for tag in soup.findAll(tag):
tag.replaceWith("")
return soup
testhtml = open('myfile.html', 'r')
print removeTags(testhtml, 'tr', 'td')
ただし、これにより、HTML タグだけでなく、テーブル内のすべての情報が削除されるようです。他にもいろいろ試してみましたが、行き詰っているようです。提案をいただければ幸いです。