Python - Recuperar los datos desde un archivo a un lista

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido su posición en 20 puestos en Python (en relación al último mes)
Gráfica de Python

Recuperar los datos desde un archivo a un lista

Publicado por Jokin (4 intervenciones) el 06/03/2019 22:29:02
Hola:
Soy nuevo en la programación de Python y estoy dando mis primeros pasos.
Para ir aprendiendo poco a poco estoy generando un programa que guarda los datos de los clientes.
He conseguido generar una lista que aumentando según voy aumentando el numero de clientes y guardarlo en un archivo Excel.
El problema lo tengo a la hora de recuperar los datos, al lanzar de nuevo el programa, quiero generarme de nuevo la lista con los datos del cliente cargándolos desde el fichero Excel.

He puesto diferentes chivatos,'print' para ver como se ejecuta el programa y parece que todo va bien pero cuando visualizo los datos de la lista al final siempre me aparecen los datos de un único cliente, el último cliente, del archivo.

Estoy en un punto muerto y os agradecería vuestra ayuda.
Para ello he programado lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
def cargar_datos(self):
        ######## Abrir tranferir a Datos_clientes y cerrar archivo#######################################
        archivo=io.open('Log_Datos.ods','r')
        datos_clientes=archivo.read()
        archivo.close()
        #########Crear una lista intermedia con los datos del cliente hasta encontrar el "end" ##########
        clientes=datos_clientes.split("end")
        num_clientes=len(clientes)
        print('Num clientes', num_clientes)
 
        i=0  #Inicializamos los valores que vamos a utilizar
 
        ######## Bucle While #############################################################################
        while i < (num_clientes-1):
                self.lista_bezeroak.append(self.bezeroa)
                var_clientes                       = clientes[i].split(";")
                print('bucle',i)
                print('longitud lista bezeroak', len(self.lista_bezeroak))
                print (var_clientes)
 
                self.lista_bezeroak[i].izena       = var_clientes[0]
                self.lista_bezeroak[i].abizena     = var_clientes[1]
                self.lista_bezeroak[i].herria      = var_clientes[2]
                self.lista_bezeroak[i].tlf         = var_clientes[3]
                self.lista_bezeroak[i].neurria     = var_clientes[4]
                self.lista_bezeroak[i].bidaiak     = var_clientes[5]
                self.lista_bezeroak[i].prezioa     = var_clientes[6]
                self.lista_bezeroak[i].fakturazioa = var_clientes[7]
 
 
 
                print ('Izena', self.lista_bezeroak[i].izena)
                print ('Abizena', self.lista_bezeroak[i].abizena)
                print ('herria', self.lista_bezeroak[i].herria)
                print ('Tlf', self.lista_bezeroak[i].tlf)
                print ('Neurria', self.lista_bezeroak[i].neurria)
                print ('Bidaiak', self.lista_bezeroak[i].bidaiak)
                print ('Prezioa', self.lista_bezeroak[i].prezioa)
                print ('Fakturazioa', self.lista_bezeroak[i].fakturazioa)
                if i==(num_clientes-2):
                        print("salir",i)
                        break
                i+=1
 
 
 
        print (self.lista_bezeroak[0].izena)
        print (self.lista_bezeroak[0].abizena)
        print (self.lista_bezeroak[0].herria)
        print (self.lista_bezeroak[0].tlf)
        print (self.lista_bezeroak[0].neurria)
        print (self.lista_bezeroak[0].bidaiak)
        print (self.lista_bezeroak[0].prezioa)
        print (self.lista_bezeroak[0].fakturazioa)
        print ("")
        print (self.lista_bezeroak[1].izena)
        print (self.lista_bezeroak[1].abizena)
        print (self.lista_bezeroak[1].herria)
        print (self.lista_bezeroak[1].tlf)
        print (self.lista_bezeroak[1].neurria)
        print (self.lista_bezeroak[1].bidaiak)
        print (self.lista_bezeroak[1].prezioa)
        print (self.lista_bezeroak[1].fakturazioa)
 
        print('longitud lista bezeroak', len(self.lista_bezeroak))
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
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Recuperar los datos desde un archivo a un lista

Publicado por joel (901 intervenciones) el 07/03/2019 07:42:07
Puedes adjuntar el archivo Log_Datos.ods para poder probarlo?
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