在之前的文章中,介绍过相关的Python爬虫的知识,如下:
今天介绍使用Pandas如何快速爬取网页的table表格数据:
一、Pandas是什么
Pandas 是 Python 语言的一个扩展程序库,用于数据分析。
Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。
Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)。
Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。
Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。
Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。
Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。
二、read_html的用法
快速获取在html中页面中table格式的数据
常用的参数:
io:可以是url、html文本、本地文件等;
flavor:解析器;
header:标题行;
skiprows:跳过的行;
attrs:属性,比如 attrs = {'id': 'table'};
parse_dates:解析日期
三、保存到表格to_excel
excel_writer:文件路径,不存在会自动生成
sheet_name=“Sheet1”:指定写的表
columns=None:指定输出某些列
columns = [“Name”, “Number”]
header=True:是否保存头行列名
index=True:是否保存索引列
startcol=0:起始行
merge_cells=True:是否合并单元格
encoding=None:指定编码,常用 utf-8
float_format=None:浮点数保存的格式,默认保存为字符串
float_format=’%.2f’ # 保存为浮点数,保留2位小数
engine=None:保存格式,指定io.excel.xlsx.writer、 io.excel.xls.writer、io.excel.xlsm.writer.
四、示例代码

上图的表格中,存在日期型、文本型、数值型等数据。
import pandas as pd
df=pd.read_html(r"d:\数据表格.html",converters={"身份证号码":str},encoding='utf-8',header=0)[0]
df["出生日期"] = pd.to_datetime(df["出生日期"]).dt.date
df.to_excel(r'd:\path_to_file.xlsx',index=False,float_format="%.2f",na_rep="暂无")
print('ok')
文章转载自云自由,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




