查看原文
其他

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

酷头酷头 印象Python 2022-08-01

文 | 酷头

来源:印象python「ID: python_logic」

嗨!朋友,我是酷头
欢迎来到学习python的宝藏基地~~~


长按下方二维码可以添加我为好友哦





如何将爬虫获取的数据写入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 = [123]
name = ['张三''李四''王五']
age = [2120122]
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 = [123]
name = ['张三''李四''王五']
age = [2120122]
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)



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




1. 本文详细介绍了如何将爬虫数据存入到excel中的三种方式,

有兴趣的读者可以尝试自己动手练习一下。


2. 本文仅供读者学习使用,不做其他用途哈!


3.下一节,我们来看看Python数据如何写入到word!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存