Python学习笔记——openpyxl读取工作表的数据有效性设置信息

今天在用openpyxl读取表格信息时,需要根据表格中单元格的数据有效性设置中的序列内容来进行下一步操作判断。但是对于如何获取该序列的字符串值一点也不了解,网上查找资料只找到用DataValidation模块可以给单元格设置数据有效性验证,但对于表格中原有的单元格数据有效性设置信息的获取方法却没发现有介绍。于是自己打开openpyxl模块源文件进行研究,颇为费了一番功夫后终于解决了这个问题。

比如,现在有一个名为test.xlsx的文件,其中A1至A5共5个单元格设置了数据有效性验证,限定输入数据为“足球,篮球,排球”这个序列中的三种球类的名称。

 想要读取哪些单元格设置了什么样的限定序列可以用如下代码:

import openpyxl


wb = openpyxl.open('test.xlsx')
ws = wb.active
print(ws['A1'].value)

# 输出:足球


print(ws.data_validations.dataValidation[0].formula1)

# 输出:"足球,篮球,排球"。

print(type(ws.data_validations.dataValidation[0].sqref))

# 输出:<class 'openpyxl.worksheet.cell_range.MultiCellRange'>

print(ws.data_validations.dataValidation[0].sqref)

# 输出:A1:A5

可见,能获取到设置数据有效性验证的单元格为A1:A5,数据限定序列为“足球,篮球,排球”。

细心的朋友可能会发现:ws

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值