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.

Elaborar y estructurar un archivo CSV a partir de un archivo de texto plano.

Me pregunto si hay alguna manera de convertir un archivo plano como se muestra a continuación

objetivo: locus9_window12
longitud: 120
miRNA : hsa-miR-4458
longitud: 19
mfe: -23,7 kcal/mol
valor-p: 0,033901
objetivo: locus104_window172
longitud: 120
miRNA : hsa-let-7b-5p
longitud: 22
mfe: -26,2 kcal/mol
valor-p: 0,015466
objetivo: locus119_window193
longitud: 120
miRNA : hsa-let-7b-5p
longitud: 22
mfe: -32,8 kcal/mol
valor-p: 0,00028

A un formato tipo csv delimitado con coma

objetivo              longitud miRNA            longitud mfe      valor-p
locus9_window12       120      hsa-miR-4458     19      -23,7    0,033901 
locus104_window172    120      hsa-let-7b-5p    22      -26,2    0,015466
locus119_window193    120      hsa-let-7b-5p    22      -32,8    0,00028

Si es posible transformar un archivo de texto plano en un archivo csv delimitado por comas, agradecería cualquier apoyo y contribución.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible convertir el formato de archivo de texto plano a formato CSV delimitado por comas usando Python. Aquí hay un ejemplo de script de Python que logra esa conversión:

    import csv
    
    # Abrir el archivo de texto plano en modo lectura
    with open('input.txt', 'r') as infile:
        # Abrir un nuevo archivo CSV en modo escritura
        with open('output.csv', 'w', newline='') as outfile:
            writer = csv.writer(outfile, delimiter=',')
    
            # Escribir la fila de encabezado CSV
            writer.writerow(['target', 'length', 'miRNA', 'length', 'mfe', 'p-value'])
    
            # Iterar sobre las líneas del archivo de entrada
            for line in infile:
                # Dividir la línea en sus componentes
                components = line.strip().split()
    
                # Escribir los componentes en el archivo CSV
                writer.writerow([components[1], components[3], components[5], components[7], components[9], components[11]])
    

    Puede utilizar este script reemplazando input.txt con el nombre de su archivo de texto plano y ejecutándolo con Python. Creará un nuevo archivo llamado output.csv en el mismo directorio que el archivo de entrada, con los datos en formato CSV delimitado por comas.

Comments are closed.