我是如何把python爬虫获取到的数据写入Excel的?

如何将爬虫获取的数据写入Excel,这一点我在爬虫文章几乎都是采用这种方式来进行操作的

写入Excel的目的是为了后续更加方便的使用pandas对数据进行清洗、筛选、过滤等操作。

为进一步数据研究、可视化打基础。

1. 自定义写入Excel

python写入Excel的方式有很多,常用的支持python操作的库有 

xlsxwriterpandas、openpyxl

今天咱们只介绍我常用到的openpyxl

1. 创建workbook

2.创建worsheet

3.数据写入sheet

4.数据写入sheet

5.保存到excel

既然说到爬虫数据写入Excel。那我们直接上爬虫案例

网页的分析和数据的爬取我们可以参考:

Python实战|腾讯招聘你干什么?python可视化告诉你

如图我们现在已经成功的将数据打印出来了,接下来我们考虑的就是如何将这些数据保存到Excel中。

图片

前面说到我们这里使用的Python库是openpyxl来实现这一操作。

所以第一步

openpyxl的下载

图片

或者自行下载whl文件安装

https://www.lfd.uci.edu/~gohlke/pythonlibs/

图片

导入库

使用import导入openpyxl库,为后续方便调用,

可以使用as关键字来简写库名

import openpyxl as op

1. 创建workbook

ws = op.Workbook()

2.创建worsheet

wb = ws.create_sheet(index=0)

3. 头文件

    wb.cell(row=1, column=1, value='职位名称')
    wb.cell(row=1, column=2, value='国家')
    wb.cell(row=1, column=3, value='城市')
    wb.cell(row=1, column=4, value='职位分类')
    wb.cell(row=1, column=5, value='职位更新时间')
    wb.cell(row=1, column=6, value='职位要求')

3.数据写入sheet

      # 加入count是为了换行写入数据
      count = 2 
      
      # 要写入excel的数据
      post_name = job['RecruitPostName']  # 职位名称
      country_name = job['CountryName']  # 国家
      loc_name = job['LocationName']  # 城市
      category_name = job['CategoryName']  # 职位分类
      last_up_time = job['LastUpdateTime']  # 职位更新时间
      responsibility = job['Responsibility']  # 职位要求
      
      # 打印获取到的数据
      print(post_name, country_name, loc_name, category_name, last_up_time, responsibility)
      
      # 将数据写入到下一行
      wb.cell(row=count, column=1, value=post_name)
      wb.cell(row=count, column=2, value=country_name)
      wb.cell(row=count, column=3, value=loc_name)
      wb.cell(row=count, column=4, value=category_name)
      wb.cell(row=count, column=5, value=last_up_time)
      wb.cell(row=count, column=6, value=responsibility)
      
      # count加1,进入到下一行写入数据
      count += 1

4.保存excel

  # 保存数据
  ws.save('腾讯职位.xlsx')

四步走轻松将你的数据写入到Excel

图片

还有更多的表头、边框、颜色设置等在此不再赘述哈

有需要的可自行百度哈。

2. 函数式写入Excel

import openpyxl as op

id = [1, 2, 3]
name = ['张三', '李四', '王五']
age = [21, 20, 122]
address = ['北京', '上海', '广州']
infos = [id, name, age, address]


def op_toexcel(data): # openpyxl库储存数据到excel
    wb = op.Workbook() # 创建工作簿对象
    ws = wb['Sheet'] # 创建子表
    ws.append(['序号', '姓名', '年龄', '住址']) # 添加表头
    for i in range(len(data[0])):
        d = data[0][i], data[1][i], data[2][i], data[3][i]
        ws.append(d) # 每次写入一行
    wb.save('测试.xlsx')

图片

3. pandas写入Excel

id = [1, 2, 3]
name = ['张三', '李四', '王五']
age = [21, 20, 122]
address = ['北京', '上海', '广州']
infos = [id, name, age, address]

# pandas库储存数据到excel
def pd_toexcel(data):
    # 用字典设置DataFrame所需数据
    dfData = {
        '序号': data[0],
        '姓名': data[1],
        '年龄': data[2],
        '住址': data[3]

    }
    # 创建DataFrame
    df = pd.DataFrame(dfData)
    # 存表,去除原始索引列(0,1,2...)
    df.to_excel('测试.xlsx', index=False)

图片

如有不足之处,烦请大佬们不吝赐教。及时指正。一起进步!

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

途途途途

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值