如何使用 xlwings 为命名范围内的一个单元格赋值?
How assign value to one cell in named range by using xlwings?
我也是 Python 和 xlwings 的新手。
我需要逐步为命名范围内的每个单元格分配不同的值。
xw.Range('Named range').value = [new_cell_values_as_list_of_lists]
这是一个如何为整个范围赋值的示例 Named range
。这不是我现在需要的。
我搜索了 xlwings-docs、Whosebug 等,但没有任何想法...
两种方式都没有
xw.Range(1,'Named range', 22).value = 'yes'
也不
xw.Range(1, 'Named range', '22').value = 'yes'
不工作。
请帮助我。
在xlwings的未来版本中,你应该可以直接在Range上使用切片表示法,但目前,最简单和最有效的方法(只有一次读写操作)可能是读取整个范围,在 Python 一侧进行操作并将整个范围写回:
values = xw.Range(1, 'Named range').value
values[1][1] = 'yes'
xw.Range(1, 'Named range').value = values
或者,根据您的情况,这也可能是一种可能性:
first_col = xw.Range(1, 'Named range').column
first_row = xw.Range(1, 'Named range').row
xw.Range(1, (first_col + 1, first_row + 1)).value = 'yes'
我也是 Python 和 xlwings 的新手。 我需要逐步为命名范围内的每个单元格分配不同的值。
xw.Range('Named range').value = [new_cell_values_as_list_of_lists]
这是一个如何为整个范围赋值的示例 Named range
。这不是我现在需要的。
我搜索了 xlwings-docs、Whosebug 等,但没有任何想法... 两种方式都没有
xw.Range(1,'Named range', 22).value = 'yes'
也不
xw.Range(1, 'Named range', '22').value = 'yes'
不工作。 请帮助我。
在xlwings的未来版本中,你应该可以直接在Range上使用切片表示法,但目前,最简单和最有效的方法(只有一次读写操作)可能是读取整个范围,在 Python 一侧进行操作并将整个范围写回:
values = xw.Range(1, 'Named range').value
values[1][1] = 'yes'
xw.Range(1, 'Named range').value = values
或者,根据您的情况,这也可能是一种可能性:
first_col = xw.Range(1, 'Named range').column
first_row = xw.Range(1, 'Named range').row
xw.Range(1, (first_col + 1, first_row + 1)).value = 'yes'