用excel数据写入html,利用pandas读取网页的表格数据并写入Excel

本文分享了利用pandas读取网页中的表格内容,并将其导入Excel文件的方法。同时,还进一步介绍了利用pandas在一个Excel中写入多个sheet。

最近接到一个任务,需要爬一个网站上的一些表格数据,然后导入到Excel表里。之前没有做过这方面的工作,第一想法就是解析表格内容,然后通过循环或者什么的把解析到的数据写入Excel文件里。当时的感觉是很麻烦。然而,在写爬虫的过程中,突然想到之前在用pandas的时候看到过read_html函数,结果果然搜到了。

读取html

读取这个函数使用起来很简单,只需要传入html格式的字符串就行了,如下所示:

import pandas ps pd

tables = pd.read_html(html)

这里的html是html格式的字符串,而得到的tables是一个列表,列表中的元素是从html中解析出的以DataFrame形式存在的数据对象,一个

写入Excel文件

由于上一步得到的是DataFrame对象,因而写入Excel就比较简单了。比如我想把tables这个列表中的第一个表格数据写入一个Excel文件中,文件名定为“result.xlsx”,那么直接运行一下代码即可。

tables[0].to_excel("result.xlsx", index=False, header=False)

我这里将index和header指定为False是因为pandas写入Excel时,会默认写入每行的序号和每列的需要,将这两个参数设置成False就不会了。

如果要指定sheet_name,比如将sheet_name指定为“表一”,那么:

tables[0].to_excel("result.xlsx", sheet_name="表一", index=False, header=False)

但是,我们还有一个需求,那就是把同一年的数据都保存在一个Excel文件中,而一年的数据有很多表,我们要把表保存在不同的sheet里面。

举个例子,我们已经得到了2018年前两个月的数据,每个月有一个表,这两个月的数据读取成DataFrame对象分别是a和b,那么我们将这两个对象写入同一Excel文件的代码为:

excel_writer = pd.ExcelWriter("data_2018.xlsx")

a.to_excel(excel_writer, sheet_name="January", index=False, header=False)

b.to_excel(excel_writer, sheet_name="February", index=False, header=False)

excel_writer.save()

版权声明:本文为博主原创文章,遵循CC 4.0 BY版权协议,转载请附上原文出处链接和本声明。

本文链接:https://ywsun.site/articles/3.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值