如何使用 openpyxl 使用列表写入 Excel 单元格区域?

Aug*_*ams 1 python iteration excel python-3.x openpyxl

我目前有一个包含整数的简单列表:amounts = [5, 10, 15]。我想将这些值写入 Excel 单元格,而不必为每个元素键入语句。目前,我有以下代码,它写入列表的所有元素,但没有迭代,而是使用单独的语句。

import openpyxl
from openpyxl import load_workbook
amounts = [5, 10, 15]
book = load_workbook("output.xlsx")
sheet = book.active

sheet["A2"] = amounts[0]
sheet["B2"] = amounts[1]
sheet["C2"] = amounts[2]

print ("done")
book.save("output.xlsx")
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过这样做来定义单元格范围;cells = sheet["A2":"C2"]。我如何使用cellsamounts一起相互迭代,以便我可以分配amounts[0]to A2amounts[1]toB2等等。实际上这个列表更大,只是为了问题而将其缩小。

小智 6

您可以使用方法单元格将值设置到单元格中

from openpyxl import Workbook

amounts = [5, 10, 15]
book = Workbook()
sheet = book.active

row = 2
for i, value in enumerate(amounts):
    sheet.cell(column=i+1, row=row, value=value)

print("done")
book.save("output.xlsx")
Run Code Online (Sandbox Code Playgroud)