【发布时间】:2020-02-04 22:55:19
【问题描述】:
我有一个需要使用 openpyxl 修改的现有工作簿。该工作簿包含作为数据透视表来源的表格。我已在 Excel 的名称管理器中为表分配了名称。我想访问 openpyxl 中的这些范围以用更新的信息替换数据,但 openpyxl 似乎无法识别现有范围。
我已按照the openpyxl site 上的文档中的代码进行操作,但没有成功。即使我成功地按照说明创建了一个命名范围(这不是我真正想做的 - 我想访问现有的命名范围),新创建的命名范围也只会在文件打开时持续存在,并且在保存时不会持续存在文件。
我已经检查以确保每个命名范围的范围是“工作簿”,ws._tables[0].name 给了我正确的表名称,但我没有成功弄清楚如何操作其中的数据或确定它包含多少行/列等,以便我可以替换其中的数据。
from openpyxl import load_workbook
wb = load_workbook(args.xlfile)
try:
source_cm = wb.defined_names['tblAcq']
except KeyError as e:
print(e)
我错过了什么?
【问题讨论】:
-
表不存储为definedNames。
标签: python-3.x openpyxl