我也是Python和xlwings的新手。 我需要逐步为命名区域中的每个单元格分配不同的值。
xw.Range('命名范围')。value = [new_cell_values_as_list_of_lists]
这是如何将值分配给全范围Named range
的示例。这不是我现在所需要的。
我搜索了xlwings-docs,stackoverflow等但是没有任何想法...... 方式
xw.Range(1,'Named range', 22).value = 'yes'
也不是
xw.Range(1, 'Named range', '22').value = 'yes'
不行。 请帮帮我。
答案 0 :(得分:1)
在xlwings的未来版本中,您应该能够直接在Range上使用切片表示法,但就目前而言,可能最简单,最有效的方法(只有一个读写操作)是读取整个Range,在Python端进行操作并将整个Range写回:
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'