Subprograma en Python que lee los datos de un archivo.txt

 

Tenemos un archivo.txt en donde esta contenida la información en distintas listas que conforman una matriz, en donde la primera columna son nombres (valores de tipo cadena) y las demás columnas son números (valores enteros int).

Para eso realizamos el siguiente subprograma, el cual va a separar los nombres en un vector y los números en una matriz de datos tipos entero:

#Subprogram leer BY: DKESCORPIO

def lee():

    #ABRIMOS EL ARCHIVO TXT EN MODO LECTURA

    archivo=open('archivo.txt','r')

    #agrupamos la información en campos

    campos=archivo.readlines()

    n=len(campos)

    #contamos el numero de listas

    listas=[]

    for i in range(n):

        listas.append(campos[i].split(','))

    #vector nombre

    v=[0]*(len(listas))

    nf=len(listas)

    

    #Guardamos los nombres en el vector

    for i in range(0,(len(listas))):

        v[i]=listas[i][0]

    nc=len(listas[1])-1

    

   #Generamos la matriz para los números enteros

    matriz=[[0]*nc for i in range(nf)]

    

    #Guardamos la información de los número enteros en la matriz

    for i in range(nf):

        for j in range(nc):

            matriz[i][j]=int(listas[i][j+1])

    #Cerramos el archivo.txt

    archivo.close()

    #Devolvemos el vector V (nombres) y la matriz (los números enteros)

    return v,matriz

Comentarios