Python爬虫学习笔记 (8) [初级] 将信息存储为 Excel 文件 - xlwings 库

这篇博客介绍了如何使用Python的xlwings库将爬取的数据存储到Excel文件中,包括安装、创建/打开文件、写入数据、读取单元格值及保存关闭文件的基本操作。通过xlwings,可以方便地处理和格式化数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更新日期: 2021.03.27

本节学习内容

使用 xlwings 将获取的信息存储为 Excel 文件。

目录

  • 1. 为什么选择 xlwings ?
  • 2. 安装和导入
  • 3. 创建/打开文件
  • 4. 写入数据
  • 5. 获取工作表中单元格的值
  • 6. 保存并关闭文件
  • 7. 其他功能

1. 为什么选择 xlwings ?

对于 txt 文件类型,除了使用 Ctrl + F 寻找信息之外,我不知道还可以怎么使用。

因为平时接触比较多的就是Excel 文件,打算学习下怎样将获取的信息存储为Excel 文件。百度了下,发现 Python 中可以操作 Excel 的库很多…看得眼花缭乱…直到看了以下这篇介绍,直接选择了 xlwings ~~

可能是全网最完整的 Python 操作 Excel库总结! (原创:刘早起)

在这里插入图片描述

2. 安装和导入

pip 安装, 使用时 import。

本节仅介绍最常用的方法,全面的使用方法参见官网文档

3. 创建/打开文件

import xlwings as xw

wb = xw.Book() # 新建一个Excel文件
wb = xw.Book("test.xlsx") # 打开Excel文件
wb = xw.Book(r'C:\Alice\Crawler_pratice_2021\test.xlsx') # 打开Excel文件

4. 写入数据

import xlwings as xw
wb = xw.Book("test.xlsx") # 打开Excel文件
sheet = wb.sheets.active # 获取活动的工作表

sheet.range('A1').value = 'test'


# 按行横向写入信息
sheet.range('A1').value = ["a1", "b1", "c1"]
# 按列纵向写入信息
sheet.range('A1').options(transpose=True).value = ["a1_new", "a2", "a3"] 


# 按照矩阵范围写入信息,2行3列
sheet.range('A1').value = [["a1_new_2",2,3], [4,5,6]] 
# 按照矩阵范围写入信息,2列3行
sheet.range('A1').options(transpose=True).value = [["a1_new_2",2,3], [4,5,6]]

5. 获取工作表中单元格的值

在这里插入图片描述

import xlwings as xw
wb = xw.Book("test.xlsx") # 打开Excel文件
sheet = wb.sheets.active # 获取活动的工作表


# 获取一个单元个的值
print(sheet.range("a1").value) # a1
print(sheet.range("A1").value) # 单元格名称大小写都可以, a1

# 获取一行或一列中相邻的范围的单元格的值
print(sheet.range("A1:A3").value) # ['a1', 'a2', 'a3']
print(sheet.range("A1:A4").value) # 没有信息的单元格会返回 None, ['a1', 'a2', 'a3', None]


# 获取整行或整列信息
print(sheet.range("A1").expand('right').value) # 中间有空单元格将中断
print(sheet.range("A1").expand('right').count) # 计数当前行信息数量,中间有空单元格将中断计数

print(sheet.range("A1").expand('down').value) # 获取整列信息,中间有空单元格将中断
print(sheet.range("A1").expand('down').count) # 计数当前列信息数量,中间有空单元格将中断计数


# 获取一个矩阵单元格内的值
print(sheet.rangeB("A1:B2").value) # [['a1', 'b1'], ['a2', 'b2']]


# 以A1为起点按行获取矩阵内数据,见下图(注意,无法获取第三行,因为 a3 是null)
print(sheet.range('A1').expand().value) # [['a1', 'b1', 'c1'], ['a2', 'b2', None]]

在这里插入图片描述

# 给单元格信息添加链接"www.baidu.com",并在单元格内显示"Baidu"
sheet.range("A1").add_hyperlink("www.baidu.com", "Baidu")

print(sheet.range("a1").value) # Baidu
print(sheet.range("a1").hyperlink) # http://www.baidu.com/

6. 保存并关闭文件

wb.save()  # 对于已经命名的文件,直接保存
wb.save("test_2")  # 对于新建后没有名字的文件,命名并保存

wb.close() # 关闭文件

7. 其他功能

xlwings 还有很多其他的功能,比如给表格设置样式,插入图片等,可参见官网文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值