在范围内分配多个值

the*_*eta 5 python excel openpyxl

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

Range("A1:D1").Value = Array(1, 2, 3, 4)
Run Code Online (Sandbox Code Playgroud)

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

import openpyxl

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

但没有成功。

有没有办法在不迭代每个单元格的情况下使用 openpyxl 进行范围分配?

Cha*_*ark 2

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

for v,c in zip([1, 2, 3, 4], ws['A1':'D1']):
     c.value = v
Run Code Online (Sandbox Code Playgroud)