Python - Ayuda con manejo de archivos

 
Vista:
sin imagen de perfil

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
sin imagen de perfil

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
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ayuda con manejo de archivos

Publicado por xve (1646 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
sin imagen de perfil

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