Python xlrd 读取 Excel 表格基础(二):获取单元格内超链接信息、格式信息、字体格式信息等

前言:

在上一篇的博客里,介绍了如何读取Excel表格中的数据。

其实一个Excel表格不仅具有文本数据信息,其还包含了大量的表格、字体格式信息。因为这些信息一般用处不大,所以在这里就简单的介绍一下了。

本篇主要内容:

1、获取单元格内超文本信息、合并单元格信息等;
2、获取单元格格式信息;
3、获取字体格式信息;
4、获取行、列格式信息。

1、获取超文本信息等

用于测试的表格文件为test02.xls,文件截图:
在这里插入图片描述
获取单元格内超文本信息:

# 导入模块
import xlrd

# 获取工作簿对象
work_book = xlrd.open_workbook('test02.xls',formatting_info = True)
# 按索引获取sheet对象
sheet_1 = work_book.sheet_by_index(0)
# 获取sheet表内超链接文本对象
print(sheet_1.hyperlink_list)
# ------运行结果------
# [<xlrd.sheet.Hyperlink object at 0x0000019B5A064358>]
# ------运行结果------

注:打开Excel文件时默认是不读取文件格式的,也就是 formatting_info 默认值为 False
想要获取 Excel 文件格式信息,需把 formatting_info 值改为 True,这样主要是为了降低内存消耗。

获取超文本对象内容,单元格信息:

# 获取sheet表内超链接对象单元格位置、对象
print(sheet_1.hyperlink_map)
# ------运行结果------
# {(11, 2): <xlrd.sheet.Hyperlink object at 0x000001E5824B4EF0>}
# ------运行结果------

# 获取超链接文件url信息
hyperlink_obj = sheet_1.hyperlink_list[0]
print(hyperlink_obj.url_or_path)
# ------运行结果------
# https://www.sogou.com/
# ------运行结果------

获取合并单元格信息:

# 获取合并单元格信息
print(sheet_1.merged_cells)
# ------运行结果------
# [(12, 13, 2, 6), (1, 2, 1, 6)]
# ------运行结果------

注:这个获得的单元格合并信息有点奇怪:
如 (1, 2, 1, 6) 信息:第一个 1 应该是第1行(从0开始计数),2 就不是指合并到第 2 行,而是2-1 还是合并行数为:1;
同理,第三个 1 指的是 第 1 列,第四个6指的是 6-1 合并列数为 5 列。
大概是这么理解的吧…

一种简单的按行读取sheet表内所有数据方法:

上一篇博客里介绍了按行、按列读取Excel文件sheet表内数据的方法,其实这里还有一种非常简单的按行读取sheet表内数据的方法:

# 简单按行获取sheet表对象所有值
print(sheet_1._cell_values)
# ------运行结果------
# [['', '', '', '', '', ''], ['', 'CSDN 博客数据', '', '', '', ''], 
# ['', '日期', '访问量', '评论数', '收藏数', '粉丝数'], ['', 43974.0, 17.0, 0.0, 0.0, 0.0], 
# ['', 43975.0, 36.0, 0.0, 0.0, 0.0], ['', 43976.0, 22.0, 0.0, 0.0, 0.0], 
  • 12
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值