python – 在范围内分配多个值

在VBA中,我可以将数组分配给单元格范围,以便范围内的每个单元格从数组中获取相应的值:

Range("A1:D1").Value = Array(1, 2, 3, 4)

我试图用openpyxl做同样的事情:

import openpyxl

wb = openpyxl.Workbook()
ws = wb.worksheets[0]
ws.range['A1:D1'].value = [1, 2, 3, 4]

但没有成功.

有没有办法用openpyxl进行范围分配而不迭代每个单元格?

解决方法:

不,这是不可能的,openpyxl中的范围只是一系列单元格,但循环很容易(openpyxl 1.8语法)

for v,c in zip([1, 2, 3, 4], ws['A1':'D1']):
     c.value = v
上一篇:python的excel处理之openpyxl


下一篇:python – openpyxl中的R1C1