Pandas解析html

pandas可以用read_html()函数直接解析html,尤其是可以吧html中的table直接转换为Dataframe,很是方便。

比如说有table html代码如下

1
<table class="table1"> <tbody> <tr> <th colspan="1" rowspan="2">Station</th> <th colspan="2">To Tiu Keng Leng</th> <th colspan="2">To Kwun Tong</th> <th colspan="2">To Whampoa</th> </tr> <tr> <th>First Train</th> <th>Last Train</th> <th>First Train</th> <th>Last Train</th> <th>First Train</th> <th>Last Train</th> </tr> <tr> <td>Whampoa</td> <td>06:10</td> <td>00:40</td> <td>06:10</td> <td>01:00</td> <td>N/A</td> <td>N/A</td> </tr></tbody></table>

通过read_html()解析得到

1
2
3
4
import pandas as pd

# 因为会返回包含df的list
df = pd.read_html(html, header=0, encoding="utf8")[0]

Reference