Python爬虫数据写入Excel的三种方法,值得收藏

文摘   2024-11-07 14:32   上海  

大家好!我是风哥,一个喜欢折腾Python的资深工程师。今天咱聊聊爬虫数据保存到Excel的几种姿势。作为一个经常和Excel打交道的开发者,我把踩过的坑和实用技巧都总结给大家,保证你看完就能上手!

xlwt - 简单粗暴型

xlwt就像咱们的老朋友,虽然有点过时但用起来贼简单。三两行代码就能把数据塞进Excel:

 1import xlwt
2
3wb = xlwt.Workbook()
4sheet = wb.add_sheet('爬虫数据')
5# 写个表头
6sheet.write(00'商品名')
7sheet.write(01'价格')
8# 塞点数据
9sheet.write(10'机械键盘')
10sheet.write(11299)
11wb.save('淘宝数据.xls')

说句实话,xlwt就是个老古董,只能搞xls格式,还有65535行的限制。不过小项目用用完全够了。

温馨提示:🌟 想写中文别忘了设置编码:

1wb = xlwt.Workbook(encoding='utf-8')

openpyxl - 多功能型

要说功能强大,那得是openpyxl。它不光能处理xlsx格式,还能玩转样式、公式、图表这些花活:

 1from openpyxl import Workbook
2from openpyxl.styles import Font
3
4wb = Workbook()
5ws = wb.active
6# 数据往里怼就完事了
7ws.append(['商品名''价格'])
8ws.append(['机械键盘'299])
9# 整点花活
10ws['A1'].font = Font(bold=True, color="FF0000")
11wb.save('淘宝数据.xlsx')

就是写入大量数据时有点慢,得耐心等等。不过功能齐全,值了!

pandas - 省心省力型

pandas就像是Excel界的大魔王,特别是处理DataFrame格式的数据时简直不要太爽:

 1import pandas as pd
2
3# 假设爬到的数据长这样
4data = {
5    '商品名': ['机械键盘''游戏鼠标''显示器'],
6    '价格': [299199999]
7}
8df = pd.DataFrame(data)
9
10# 一行代码搞定
11df.to_excel('淘宝数据.xlsx', index=False)

还能直接读Excel进行数据分析,简直不要太方便:

1df = pd.read_excel('淘宝数据.xlsx')
2# 算个平均价格啥的
3average_price = df['价格'].mean()

温馨提示:🌟 用pandas前记得装openpyxl:

1pip install openpyxl

实战小技巧

处理大量数据时,用追加模式能省不少内存:

 1from openpyxl import load_workbook
2
3wb = load_workbook('淘宝数据.xlsx')
4ws = wb.active
5for item in crawled_data:  # crawled_data是爬到的数据
6    ws.append([item['name'], item['price']])
7    # 每1000条保存一次,保险
8    if ws.max_row % 1000 == 0:
9        wb.save('淘宝数据.xlsx')
10wb.save('淘宝数据.xlsx')

别忘了处理下异常,避免程序半路翻车:

1try:
2    wb.save('淘宝数据.xlsx')
3except PermissionError:
4    print('哎呀,Excel被占用了,关掉再试试~')
5except Exception as e:
6    print(f'糟糕,出错了:{str(e)}')

今天的Python干货分享就到这啦!代码都是我实战中总结的,记得自己动手试试。有问题随时在评论区问我,咱们一起进步!别忘了点个赞,下次给大家带来更多Python爬虫的秘籍!

py学习基地ai
分享生活百态,情感故事,了解不一样的人生
 最新文章