如何解决如何使用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 举报,一经查实,本站将立刻删除。