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

2021-08-18  本文已影响0人  途途途途

如何将爬虫获取的数据写入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]

defop_toexcel(data):# openpyxl库储存数据到excel

wb = op.Workbook()# 创建工作簿对象

ws = wb['Sheet']# 创建子表

ws.append(['序号','姓名','年龄','住址'])# 添加表头

foriinrange(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

defpd_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)

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

上一篇下一篇

猜你喜欢

热点阅读