Python - combobox muestra llaves en datos con espacios de una DB

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

combobox muestra llaves en datos con espacios de una DB

Publicado por Omar (2 intervenciones) el 18/04/2020 00:02:14
llaves

Buenas tardes, estoy recuperando un listado para un combobox a partir de una consulta con sqlite3
asi:

1
2
query = c.execute('SELECT DISTINCT envio FROM embarques ORDER BY envio ASC')
unavarw=query.fetchall()

esta consulta se muestra asi:

1
2
print(unavarw)
[('Cliente Recolecta',), ('Exportacion',), ('Fletera',), ('Foraneo',), ('Local',), ('Paqueteria',)]

el listado tiene el dato 'Cliente Recolecta' el cual contiene un espacio
al asignarle el listado al combobox :

1
2
tipoenvio= ttk.Combobox(miventana)
tipoenvio['values']=unavarw

me lo muestra con llaves:
{Cliente Recolecta}

con lo cual, al querer guardar los datos en la DB, se guarda con todo y llaves.

no logro hallar una forma de evitarlo.

Podrían ayudarme, por favor
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
Val: 1.841
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

combobox muestra llaves en datos con espacios de una DB

Publicado por tincopasan (561 intervenciones) el 18/04/2020 00:47:34
hola:
una forma simple que se me ocurre es:
1
2
3
tipoenvio= ttk.Combobox(miventana)
unavarw = [x[0] for x in unavarw]
tipoenvio['values']=unavarw

Contame si te funcionó.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha disminuido su posición en 13 puestos en Python (en relación al último mes)
Gráfica de Python

combobox muestra llaves en datos con espacios de una DB

Publicado por Omar (2 intervenciones) el 21/04/2020 23:21:01
Hola. ya había intentado algo así, pero no funciona.

sale lo siguiente.

File "E:\Depurar\ProyectoPy\pest3.py", line 144, in selctionp2
unavarw = [x[0] for x in unavarw]
File "E:\Depurar\ProyectoPy\pest3.py", line 144, in <listcomp>
unavarw = [x[0] for x in unavarw]
IndexError: string index out of range

tal vez tenga que ver con la consulta.... (talacheando,trabajando,programando)

jajajaajaj. acabo de re ordenar las lineas... y sí funcionó.. :D

sucede que la siguiente linea

unavarw = [x[0] for x in unavarw]

debe de ir enseguida de la consulta para que no pierda la continuidad en el código... [Eso digo yo ;)].

me quedó algo así:

1
2
3
4
5
6
query = c.execute('SELECT DISTINCT envio FROM embarques ORDER BY envio ASC')
unavarw=query.fetchall()
unavarw = [x[0] for x in unavarw]
tipoenvio= ttk.Combobox(miventana)
tipoenvio['values']=unavarw
tipoenvio.current(1)


Muchisisisisimas gracias, sos la onda. :P


sinllaves
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