auditR
HTMLファイルから表(tableタグ)を読み取ってデータフレームにする
xmlfile.xhtmlが仮にあったとして、その中からtableを読み取って何かのデータを得たいとき。
xml2::xml_read("xmlfile.xhtml") %>% rvest::html_text %>% rvest::html_table -> dataframe.df
但し、いくつかの前提となる制約がある。
- テーブルは列や行が統合されていない(統合されていれば同じ要素をその数だけ加える)
- 見出しの行は一番上にある
さらに、もともとのテーブルがデータ処理用に縦横綺麗に作られているとは限りません。実は個々の処理が一番苦労する。
タグの編集は、タグをノードとして扱うよりは、as.characterでテキストとして扱うほうが手軽なこともある。
以下は、r-wakalangでill_identifiedさんに教わったもの
tables <- html %>% as.character %>% #ここで文字型テキストに変換 str_replace_all("</tr>\n<td", "</tr>\n<tr>\n<td") %>% #不要なデータを編集を加える(その1) str_replace_all("<br>", ",") %>% #不要なデータを編集を加える(その2) read_html() %>% #HTML型のデータに戻す
Last updated 2021-11-09 | auditR (c) N.Nawata