Python - separar las lineas de un archivo en listas y con estas listas crear una estructura

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

separar las lineas de un archivo en listas y con estas listas crear una estructura

Publicado por nicolas (1 intervención) el 17/12/2020 00:24:51
hola tengo el siguiente trabajo para la unversidad.
nos entregan un archivo de texto de la forma:
id_usuario,lugar,hora
ej: jperez,super,12
cgonzales,feria,18
tlarza,casa2,20
tengo que crear una funcion que al entrgarle un archivo me convierta cada linea en una estructura mutable: usuario(id_usuario,{"lugar":horas} y guardar los usuarios en una lista general si un id_usuario haido a mas de un lugar se deben registar todos los lugares en el mismo usuario esto es lo que he logrado me falta poder unirlas direcciones del mismo usuario

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
from estructura import *
 
create_mutable("usuario","id_usuario lugares_visitados")
 
#primera funcion
 
#cargarubicacionesalista:arcivo.txt->list(usuarios)
#se le entrega un archivo de texto y retorna una lista global
#con estructuras de usuarios
#ej:
 
def cargarubicacionalista(archivo):
    leer=open(archivo,"r")
    lg=[]
    for lineas in leer:
      lista=lineas.split(",")
 
      ide=str(lista[0])
      lugar={str(lista[1]):int(lista[2])}
      elemento=usuario(ide,lugar)
      lg.append(elemento)
 
    print(lg)
 
 
    leer.close()

y me entrega lo siguiente (al usar de ejemplo un archivo dado)

1
cargarubicacionalista(entrada.txt)

[usuario(id_usuario=cjaramil, lugares_visitados={'universidad1': 12}), usuario(id_usuario=ndecar, lugares_visitados={'cafeteria2': 10}), usuario(id_usuario=valarcon, lugares_visitados={'cafeteria3': 15}), usuario(id_usuario=nmarambio, lugares_visitados={'cancha2': 10}), usuario(id_usuario=cjaramil, lugares_visitados={'cancha2': 11}), usuario(id_usuario=kcossio, lugares_visitados={'salaclases3': 15}), usuario(id_usuario=ndecar, lugares_visitados={'universidad1': 12}), usuario(id_usuario=aibarra, lugares_visitados={'almacen2': 11}), usuario(id_usuario=valarcon, lugares_visitados={'salaclases3': 15}), usuario(id_usuario=ahevia, lugares_visitados={'salaclases3': 15}), usuario(id_usuario=kcossio, lugares_visitados={'almacen2': 11}), usuario(id_usuario=nmarambio, lugares_visitados={'almacen2': 12}), usuario(id_usuario=cjaramil, lugares_visitados={'almacen2': 12})]

y necesito que si una misma persona ha ido a 2 lugares distintos esos lugares queden en el diccionario de ese usuario
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