es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Usted es un traductor de español que traduce documentos de tecnología. Traduzca lo siguiente al español. Escriba cada sublista en una lista en una hoja de Excel (formato XLS) 1. Hardware a. CPU b. RAM c. GPU Hardware a. CPU b. RAM c. GPU 2. Software a. Operating System b. Applications c. Utilities Software a. Sistema operativo b. Aplicaciones c. Utilidades 3. Network a. LAN b. WAN c. Firewall Red a. LAN b. WAN c. Firewall 4. Security a. Antivirus b. Encryption c. Access Control Seguridad a. Antivirus b. Encriptación c. Control de acceso 5. Storage a. Hard Drive b. Flash Drive c. Cloud Storage Almacenamiento a. Disco duro b. Unidad flash c. Almacenamiento en la nube

Quiero que esto sea escrito en una hoja de cálculo de Excel (formato XLS) donde cada sublista sea una fila en la hoja de cálculo de Excel (formato XLS).

Para mi caso, es mejor preservar la entrada como una lista anidada, pero si eso no es posible, estoy dispuesto a “desempaquetar” la lista anidada en algo como esto:


modified_input_list = ['as','ass','sd','ssa','a','ds','dfg','mal']

y luego escribir cada 4 elementos en una fila en la hoja de cálculo de Excel (formato XLS)

Es muy importante que la solución proporcionada tenga en cuenta que las filas se están escribiendo en una hoja de cálculo de formato XLS SOLAMENTE. He importado XLRD para leer otras hojas de cálculo de formato XLS, y no es necesario indicar esa importación en la solución.

Gracias de antemano

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para escribir la lista anidada input_list en una hoja de Excel en formato XLS, necesitaremos usar el módulo xlwt en Python.

    Primero, necesitamos importar el módulo y crear un nuevo libro:

    import xlwt
    
    workbook = xlwt.Workbook()
    sheet = workbook.add_sheet('Sheet 1')
    

    A continuación, podemos recorrer la lista anidada y escribir cada sublista como una fila en la hoja:

    for i, row in enumerate(input_list):
        for j, value in enumerate(row):
            sheet.write(i, j, value)
    

    Esto creará una nueva hoja llamada “Sheet 1” y escribirá cada lista en input_list como una fila separada en la hoja. El archivo XLS resultante se puede guardar usando el método save:

    workbook.save('output.xls')
    

    Si prefiere desempaquetar la lista anidada en una lista plana primero, puede usar el siguiente código en su lugar:

    modified_input_list = [item for sublist in input_list for item in sublist]
    
    for i in range(0, len(modified_input_list), 4):
        row = modified_input_list[i:i+4]
        for j, value in enumerate(row):
            sheet.write(i//4, j, value)
    

    Esto creará una nueva hoja llamada “Sheet 1” y escribirá cada 4 elementos de modified_input_list como una fila separada en la hoja. El archivo XLS resultante se puede guardar usando el método save como se muestra arriba.

Comments are closed.