csv加header python_爬取NBA球员薪资数据【Python数据分析百例连载】

本文介绍了如何使用Pandas的read_html方法从网页抓取NBA球员薪资数据,并创建带有header的CSV文件。在确保网页表格为标签后,通过设置header参数,将爬取的数据保存为DataFrame。程序运行可能需要安装lxml模块。 摘要由CSDN通过智能技术生成

通过Pandas模块也可以实现简单的爬虫。主要使用Pandas的read_html方法,该方法用于导入带有table标签的网页表格数据,语法如下:

pandas.read_html(io,match='.+',flavor=None,header=None,index_col=None,skiprows=None,attrs=None,parse_dates=False,thousands=',',encoding=None,decimal='.',converters=None,na_values=None,keep_default_na=True,displayed_only=True)

主要参数说明:

  • io:字符串,文件路径,也可以是URL链接。网址不接受https,可以尝试去掉https中的s后爬取,如http://www.mingribook.com。
  • match:正则表达式,返回与正则表达式匹配的表格。
  • flavor:解析器默认为“lxml”。
  • header:指定列标题所在的行,列表list为多重索引。
  • index_col:指定行标题对应的列,列表list为多重索引。
  • encoding:字符串,默认为None,文件的编码格式。
  • 返回值:返回一个DataFrame。

使用read_html方法前,首先要确定网页表格是否为table类型。例如,NBA球员薪资网页(http://www.espn.com/nba/salaries),右键单击该网页中的表格,在弹出的菜单中选择“检查元素”,查看代码中是否含有表格标签<table>…</table>的字样,如图所示,确定后才可以使用read_html方法。

0b752e7bcbd8b165f23f4795fa1f603f.png

下面使用read_html()方法导入NBA球员薪资数据,程序代码如下:

import pandas as pd
df = pd.DataFrame()
url_list = ['http://www.espn.com/nba/salaries/_/seasontype/4']
for i in range(2, 13):
    url = 'http://www.espn.com/nba/salaries/_/page/%s/seasontype/4' % i
    url_list.append(url)
#遍历网页中的table读取网页表格数据
for url in url_list:
    df = df.append(pd.read_html(url), ignore_index=True)
#列表解析:遍历dataframe第3列,以子字符串$开头
df = df[[x.startswith('$') for x in df[3]]]
print(df)
df.to_csv('NBA.csv',header=['RK','NAME','TEAM','SALARY'], index=False)

运行程序,输出结果如图所示。

b39ee10766603e6bfa5aee6244921565.png

注意:运行程序,如果出现ImportError: lxml not found, please install it错误提示信息,则需要安装lxml模块。

人人都应掌握的数据分析技能你究竟了解多少?更多数据处理、数据分析内容可参阅《Python数据分析从入门到实践》全彩版

《Python数据分析从入门到实践(全彩版)》(明日科技(MingRi Soft))【摘要 书评 试读】- 京东图书​item.jd.com

d18a6eb3c1a910b0c01297f3536fe311.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值