Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Exportar datos de un Treeview (tkinter)
#1
Buenas, tengo una consulta que no sé cómo explicarla. Voy a intentar no marearme al formularla.
¿Es posible exportar lo que muestra un treeview?
¿Cómo se haría esto, qué comandos o métodos se necesitarían? Supongamos que quiero generar un archivo a partir de una consulta (cuyo resultado se muestra en un treeview), y guardarlo en txt o en csv, ¿cómo se hace eso?
¿Hay algún tutorial al respecto?
Responder
#2
Hola. No hay ningún método provisto por Tk para exportar a algún formato particular. Sencillamente podrías recorrer el contenido del treeview con un bucle e ir guardando los datos donde quieras. Por ejemplo, si querés exportar todo el contenido a un archivo de texto, harías algo así:

Código:
with open("resultados.txt", "w") as f:
    for item_id in treeview.get_children():
        item = treeview.item(item_id)
        print(item["text"], file=f)

Para una explicación del get_children() te dejo este artículo: https://recursospython.com/guias-y-manua...n-tkinter/.

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
Perfecto, Francisco, funciona a la perfección, pero sólo me trae la primer columna del tree. Éste tiene 4 columnas, ¿como extraigo al txt toda la info del tree?
(Te confieso que estuve jugando con el código, pero no lo logré).
Responder
#4
Hola, Diego.

item["text"] es el contenido de la primera columna. Las otras columnas están en item["values"].

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#5
¡Genio! ¡Gracias!
Quedaría algo así entonces, ¿no?:

Código:
with open("pendientes.txt", "w") as f:
            for item_id in tree1.get_children():
                item = tree1.item(item_id)
                print(item["text"], item["values"], file=f)
Responder
#6
Exactamente Wink
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)