如何使用openpyxl使用列表写入Excel单元格范围?

时间:2017-01-29 16:59:28

标签: python excel python-3.x iteration openpyxl

我目前有一个包含整数的简单列表: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") 。我想将这些值写入Excel单元格,而不必为每个元素键入语句。目前,我有以下代码编写列表的所有元素,但没有迭代,而是使用单独的语句。

cells = sheet["A2":"C2"]

我知道我可以通过这样做来定义一个细胞范围; cells。如何将amountsamounts[0]一起使用以互相迭代,以便我可以将A2分配给amounts[1],将B2分配给package main import ( "fmt" ) type Growler interface{ Growl() bool } type Cat struct{ Name string Age int } // *Cat is good for both objects and "references" (pointers to objects) func (c *Cat) Speak() bool{ fmt.Println("Meow!") return true } func (c *Cat) Growl() bool{ fmt.Println("Grrr!") return true } func main() { var felix Cat // is not a pointer felix.Speak() // works :-) felix.Growl() // works :-) var ginger *Cat = new(Cat) ginger.Speak() // works :-) ginger.Growl() // works :-) } , 等等。这个列表在现实中更大,只是为了问题而缩小。

1 个答案:

答案 0 :(得分:1)

您可以使用方法 cell

将值设置为单元格
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")