python - 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 中的表总数
解决方案
您可以使用 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
你也可以对requests和BeautifulSoup做同样的事情,更快。
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.
推荐阅读
- python - Matplotlib 绘图失败,但 scatter 使用相同的数据成功
- python-3.x - Qt:QFormLayout - 如何从按钮中找到行
- html - 视频播放后 HTML 5 视频显示黑屏
- javascript - 为什么移动设备上的幻灯片之间的图像闪烁?
- python - 对具有低值计数的唯一值进行分组
- ssl - Microsoft Graph api 使用的安全协议
- javascript - 获取按钮点击链接
- r - 如何更改 lm() 的默认对象值?
- javascript - 在我用地图得到的每个数字后添加一个“%”符号
- android - 应用程序开发人员是否有理由不使用相同的签名对所有应用程序进行签名?