XlsxWriter es un módulo de Python para escribir archivos en el formato de archivo XLSX. Se puede usar para escribir texto, números y fórmulas en varias hojas de trabajo. Además, admite funciones como formato, imágenes, gráficos, configuración de página, filtros automáticos, formato condicional y muchos otros.
Use este comando para instalar el módulo xlsxwriter:
pip install xlsxwriter
Nota: A lo largo de XlsxWriter, las filas y las columnas están indexadas a cero. La primera celda en una hoja de trabajo, A1 es (0, 0), B1 es (0, 1), A2 es (1, 0), B2 es (1, 1)… de manera similar para todos.
Veamos cómo crear y escribir en una hoja de Excel usando Python.
Código n. ° 1: uso de la notación A1 (nombre de celda) para escribir datos en las celdas específicas.
Python3
# import xlsxwriter module import xlsxwriter # Workbook() takes one, non-optional, argument # which is the filename that we want to create. workbook = xlsxwriter.Workbook('hello.xlsx') # The workbook object is then used to add new # worksheet via the add_worksheet() method. worksheet = workbook.add_worksheet() # Use the worksheet object to write # data via the write() method. worksheet.write('A1', 'Hello..') worksheet.write('B1', 'Geeks') worksheet.write('C1', 'For') worksheet.write('D1', 'Geeks') # Finally, close the Excel file # via the close() method. workbook.close()
Producción:
Código n. ° 2: uso de la notación fila-columna (valor de indexación) para escribir datos en las celdas específicas.
Python3
# import xlsxwriter module import xlsxwriter workbook = xlsxwriter.Workbook('Example2.xlsx') worksheet = workbook.add_worksheet() # Start from the first cell. # Rows and columns are zero indexed. row = 0 column = 0 content = ["ankit", "rahul", "priya", "harshita", "sumit", "neeraj", "shivam"] # iterating through content list for item in content : # write operation perform worksheet.write(row, column, item) # incrementing the value of row by one # with each iterations. row += 1 workbook.close()
Producción:
Código #3: Creando una nueva hoja con el nombre específico
Python3
# import xlsxwriter module import xlsxwriter workbook = xlsxwriter.Workbook('Example3.xlsx') # By default worksheet names in the spreadsheet will be # Sheet1, Sheet2 etc., but we can also specify a name. worksheet = workbook.add_worksheet("My sheet") # Some data we want to write to the worksheet. scores = ( ['ankit', 1000], ['rahul', 100], ['priya', 300], ['harshita', 50], ) # Start from the first cell. Rows and # columns are zero indexed. row = 0 col = 0 # Iterate over the data and write it out row by row. for name, score in (scores): worksheet.write(row, col, name) worksheet.write(row, col + 1, score) row += 1 workbook.close()
Producción:
XlsxWriter tiene algunas ventajas y desventajas sobre los módulos alternativos de Python para escribir archivos de Excel.
ventajas:
- Admite más funciones de Excel que cualquiera de los módulos alternativos.
- Tiene un alto grado de fidelidad con los archivos producidos por Excel. En la mayoría de los casos, los archivos producidos son 100% equivalentes a los archivos producidos por Excel.
- Tiene una extensa documentación, archivos de ejemplo y pruebas.
- Es rápido y se puede configurar para usar muy poca memoria incluso para archivos de salida muy grandes.
Desventajas:
- No puede leer ni modificar archivos Excel XLSX existentes.