微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用openpyxl访问命名范围的某个单元格

如何解决如何使用openpyxl访问命名范围的某个单元格

我用 Python 3.8 / openpyxl 打开了一个 Excel 文件,我试图访问命名范围的某个单元格 wb.defined_names['name'] 与地址 'Daten!$C$4:$E$2000'

我想要做的是这样的 Excel VBA 代码[name].cells(i,2)在该范围“名称”的第 i 行和第 2 列中输入单元格,即 i=3 时为“D6”。

显而易见的解决方案不起作用: wb.defined_names['name'].cell(i,2)

必须有一个比选择范围的地址并修改它更简单的解决方案...... ws[list(wb.defined_names['name'].destinations)[0][1].replace(....)]

解决方法

也许尝试这样的事情:

from openpyxl.reader.excel import load_workbook

wb = load_workbook(r'path\to\your\file.xlsx')
ws = wb['YourSheet']

ws.cell(i,j).value #to get the value from the cell

现在您可以遍历行/列。

如果您需要获取行/列的总数,请使用:

rows = ws.max_row
cols = ws.max_column

保重,朋友

编辑:

一个简单易行的解决方案是:

for i in range(ws.max_rows): #iterate over all rows
    for j in range(ws.max_cols): #iterate over all columns
        if ws.cell(i,j).value == 'yourCriteria':
            print('execute my code here')

在 range() 函数中,您可以指定从哪里开始您的范围,例如:

for i in range(2,ws.max_rows): #it would go from cell 2 to the end of the rows

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。