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:
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
0