convertir archivo .txt a arreglo bidimensional con python

publicado por: Anonymous

Tengo un archivo .txt con mucha información, quiero leerlo con python pero a la vez que lo leo necesito ir llenando un arreglo bidimensional tomando la palabra o el dato separado por la coma como una posición y no cada caracter como una posición. Cada dato separado por coma corresponde a un tipo de dato distinto. La información en el archivo esta ordenada algo así:

"600900", "", "GROUP", 1, 0, 0, 4, "", 0:00, 0:00, 09JAN, 09JAN, 09JAN, 09JAN, false, 0,

En mi archivo txt tengo demasiada información igual separada por filas y cada fila contiene 16 columnas en total. Lo que necesito debería lucir algo así:

[600900][ ][GROUP][1][0][0][4][ ][0:00][0:00][09JAN][09JAN][09JAN][09JAN][false][0]
[600800][ ][GROUP][1][0][0][4][ ][0:00][0:00][09JAN][09JAN][09JAN][09JAN][false][0]
[600700][ ][GROUP][1][0][0][4][ ][0:00][0:00][09JAN][09JAN][09JAN][09JAN][false][0]

Mi código Python

file=open('escrito.txt','r') 
data=file.readlines() 
file.close() 
print (data)

Solo lee e imprime la información del archivo

solución

Para la versión de Python 2 puede utilizar el módulo csv para archivos de texto cuyo delimitador se una ,. Puede hacer una lectura de la siguiente forma

import csv

with open('datos.txt', 'rb') as csvfile:
    rows = csv.reader(csvfile, delimiter=',', quotechar='|')
        for row in rows:
            print ', '.join(row)

Este ejemplo lo que hace basicamente es una impresión de cada fila, para su caso en vez del print puede crear la lógica que le construya lo que necesita. Puede tener una mayor referencia revisando la Documentación oficial del módulo CSV para Python 2

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *