Python - Ayuda con manejo de archivos

   
Vista:

Ayuda con manejo de archivos

Publicado por C (17 intervenciones) el 13/11/2014 20:54:43
Buenas a todos. Estoy haciendo un ejercicio en el que tengo que definir una función que abra un documento de texto y lo retorne como una matriz (es decir, cada renglón seria una lista (en la que cada caracter sería un elemento)).
Si alguien pudiera tirarme alguna directriz, me vendría muy bien.
Gracias :D
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con manejo de archivos

Publicado por C (17 intervenciones) el 13/11/2014 22:18:16
Ok, hice esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def cantidadRenglones(archivo):
    i=0
    for linea in archivo:
        i=i+1
    return(i)
 
def transformaALista(elemento):
    lista=[]
    for i in elemento[0:-1]:
        lista.append(i)
    return(lista)
 
def cargaDeVuelo():
    asientos=open("ventaVuelo.txt","r")
    asientos2=asientos.readlines()
    matriz=[]
    for i in range(cantidadRenglones(asientos2)):
        lista=transformaALista(asientos2[i])
        matriz.append(lista)
    return(matriz)

Si a alguien se le ocurre como mejorarlo, es bienvenido :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Ayuda con manejo de archivos

Publicado por xve (1229 intervenciones) el 14/11/2014 12:54:40
Tu código esta bien, y funciona perfectamente!!!, yo lo único que te diría, es que puedes eliminar la función cantidadRenglones(), ya que puedes hacer un bucle directamente por las lineas del archivo sin tener que contarlas... te adjunto el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
def transformaALista(elemento):
    lista=[]
    for i in elemento[0:-1]:
        lista.append(i)
    return(lista)
 
def cargaDeVuelo():
    asientos=open("x.txt","r")
    matriz=[]
    for i in asientos.readlines():
        lista=transformaALista(i)
        matriz.append(lista)
    return(matriz)

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con manejo de archivos

Publicado por C (17 intervenciones) el 14/11/2014 13:03:34
Claro; me perdí entre tantas listas y matrices.
Muchas gracias! Funciona excelente :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar