pandasでpd.read_html()関数を使って、HTML上のテーブルをpdのDtaFrameとして読込む処理で苦戦しています。
普通にURLを指定してHTMLを読み込むと、ユーザー操作内容によって、取り込みたいテーブルの順番が可変となり、正しく処理できません。
そのため、BeautifulSoupで該当する特定のTableタグ(<table>~</table>)だけを読み込みこんだ後にstr()でテキストに変換し、それをpandasのpd.read_html()でDataFrameに変換しようとしましたが、テーブル無しのエラーとなりました。
どのようにすれば、pandasのDataFrameとして取り込めるのでしょうか?
エラーとなるコード。
import bs4
import pandas as pd
html_text = './test_table.html'
test_table = pd.read_html(html_text)
発生したエラーメッセージ
ValueError Traceback (most recent call last)
<ipython-input-13-3984c22e0f02> in <module>()
4 # test_table.htmlはHTMLの特定テーブルをテキスト化したファイル
5 html_text = './test_table.html'
----> 6 test_table = pd.read_html(html_text)
/usr/local/lib/python3.7/dist-packages/pandas/io/html.py in _parse_tables(self, doc, match, attrs)
545
546 if not tables:
--> 547 raise ValueError("No tables found")
548
549 result = []
ValueError: No tables found
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/04 22:46