Estoy usando el método openpyxl para escribir valores en Python a Excel. Tengo alrededor de 30 valores enteros en python que quiero escribir dinámicamente en celdas específicas de Excel.
Por ejemplo, value1-value5 debe escribirse en B1-B5, cuando esto se complete, debemos pasar a la siguiente columna y escribir value6-value10 en las celdas C1-C5.
Estoy usando el siguiente código, pero necesito ayuda para hacerlo dinámico
#create workbook object
wb=openpyxl.load_workbook("report.xlsx")
type (wb)
#get sheet names
wb.get_sheet_names()
#create reference for sheet on which to write
worksheet= wb.get_sheet_by_name("Sheet1")
#use sheet reference and write the cell address
**worksheet["B1"]=value1** #this part needs to be automated
#save workbook
wb.save("report.xlsx")
Respuestas
1 para la respuesta № 1Si desea crear estas cadenas de referencia dinámicamente, esto ayudará:
column, row = 66, 1
for v in values:
if row == 6:
row = 1
column += 1
worksheet["{}{}".format(chr(column),row)] = value
row += 1
Esto comenzará con B1
y una vez que llega B5
se moverá a C1
y así.
No funciona después de la columna Z
.