¿Cómo puede openpyxl escribir datos de la lista en una hoja?

Recientemente estoy usando openpyxl para tratar algunos datos científicos, cuando estaba escribiendo los datos de la lista en un archivo de Excel, tengo un problema.

datalist[row][col] wb=openpyxl.Workbook(optimized_write=Ture) ws_write = wb.create_sheet(0) for i in range(row): ws_write.append([datalist[i][0]]) wb.save(filename='data.xlsx') 

cuando se hace, parece que solo puede escribir la lista en la primera columna del archivo xlsx, ¿cómo puedo asignar la misma columna de mi datalist a la misma columna del archivo xlsx en la misma hoja? ¿Hay alguna referencia para controlar la salida?

Muchas gracias

Cuando utilice ws.append(row) , debe insertar un pase en un todo como secuencia o como generador. No entiendo su estructura de datos, pero algo como lo siguiente debería funcionar.

 for row in datalist: ws.append(row) 

Si esto no es suficiente, proporcione más información sobre la estructura de sus datos.

Solo estás escribiendo la primera columna de tus datos (col = 0). Para incluir todos los datos, agregue un bucle interno:

 for i in range(row): for j in range(col): ws_write.append([datalist[i][j]]) wb.save(filename='data.xlsx') 

o, escriba toda la fila a la vez:

 for i in range(row): ws_write.append([datalist[i]]) wb.save(filename='data.xlsx') 

No conozco ese paquete para asegurarme de que la syntax de salida es correcta.

edit: después de ver esto: inserte una fila en la hoja de cálculo de Excel usando openpyxl en Python , parece que debe hacer algo como:

 for i in range(row): for j in range(col): ws_cell(row=i,col=j).value = datalist[i][j] wb.save(filename='data.xlsx')