如何使用xlwings为命名范围内的一个单元格赋值?

时间:2016-03-09 12:08:46

标签: python excel xlwings

我也是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' 

不行。 请帮帮我。

1 个答案:

答案 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'