首页 > 解决方案 > python:pandas方法知道html中的多个表

问题描述

要读取 html 文件中的表格,我正在使用 pandas。

import pandas as pd
url="......html'
df=pd.read_html(url)

for i in range(0,10):
   print(df[i])

这行得通。但是我正在处理大量数据并且不确定存在多少表。有没有一种方法可以让我们知道使用 python/pandas 中的任何包来了解给定 html 中的表总数

标签: pythonpandas

解决方案


您可以使用 pandas 或BeautifulSoup

假设你正在解析这个,

url='https://en.wikipedia.org/wiki/List_of_states_and_territories_of_the_United_States'

import pandas as pd
dfs=pd.read_html(url)

len(dfs)
out[]: 18 # this url has 18 tables

你也可以对requestsBeautifulSoup做同样的事情,更快。

import requests
from bs4 import BeautifulSoup

r=requests.get(url)
soup=BeautifulSoup(r.text,'lxml')

len(soup.find_all('table'))

out[]: 18 #no of tables.

推荐阅读