openpyxl - 读取数据验证 - 列表
openpyxl - read data validation - list
我有一个 excel sheet,带有数据验证 属性 - 列表。
我需要制作一个包含 column_name 和相关下拉列表值的字典。
例如:{A:[a1, a2, a3], B:[b1, b2], C:[c1, c2, c3, c4]}。
excel中有多个如何嵌入数据验证列表的示例,
但是怎么读呢?
我试过简单的代码:
from openpyxl import load_workbook
excel = load_workbook('test.xlsx')
sheet = excel.get_sheet_by_name('RequiredFormat')
for row in sheet.iter_rows():
for cell in row:
print(cell.value)
input("Proceed ?")
然后我检查了单元格可用的选项。
但是没有说数据验证或列表。
有办法吗?
您目前无法读取现有数据验证。阅读 Openpyxl documentation
这是我将要用来读取列表值和单元格的代码快照
tstlst = ws.data_validations.dataValidation
print('---')
print(tstlst)
print('---')
nr = 0
for tst2 in tstlst:
nr += 1
print(str(nr) + " : " + str(tst2))
tst3 = tst2.sqref
print('sqref: ' + str(tst3))
tst4 = tst2.formula1
print('list: ' + tst4)
也许这很有用
这会为我在 A13 中的数据验证列表生成以下输出
2:
参数:
sqref=,showErrorMessage=True,showDropDown=None,showInputMessage=True,allowBlank=False,errorTitle=None,error=None,promptTitle=None, prompt=None, type='list', errorStyle=None, imeMode=None, operator=None, formula1='"val1,val2 ,val3"', 公式2=None
sqref: A13
列表:“val1、val2、val3”
正如@Jeanne Lane 在评论中指出的那样,有一些读取数据验证的能力:
https://foss.heptapod.net/openpyxl/openpyxl/-/issues/827#note_124765
for dv in worksheet.data_validations.dataValidation:
# dv.type has the type, and other things here....
我有一个 excel sheet,带有数据验证 属性 - 列表。
我需要制作一个包含 column_name 和相关下拉列表值的字典。
例如:{A:[a1, a2, a3], B:[b1, b2], C:[c1, c2, c3, c4]}。
excel中有多个如何嵌入数据验证列表的示例, 但是怎么读呢?
我试过简单的代码:
from openpyxl import load_workbook
excel = load_workbook('test.xlsx')
sheet = excel.get_sheet_by_name('RequiredFormat')
for row in sheet.iter_rows():
for cell in row:
print(cell.value)
input("Proceed ?")
然后我检查了单元格可用的选项。
但是没有说数据验证或列表。
有办法吗?
您目前无法读取现有数据验证。阅读 Openpyxl documentation
这是我将要用来读取列表值和单元格的代码快照
tstlst = ws.data_validations.dataValidation
print('---')
print(tstlst)
print('---')
nr = 0
for tst2 in tstlst:
nr += 1
print(str(nr) + " : " + str(tst2))
tst3 = tst2.sqref
print('sqref: ' + str(tst3))
tst4 = tst2.formula1
print('list: ' + tst4)
也许这很有用
这会为我在 A13 中的数据验证列表生成以下输出
2:
sqref: A13
列表:“val1、val2、val3”
正如@Jeanne Lane 在评论中指出的那样,有一些读取数据验证的能力:
https://foss.heptapod.net/openpyxl/openpyxl/-/issues/827#note_124765
for dv in worksheet.data_validations.dataValidation:
# dv.type has the type, and other things here....