Cuadro de lista de las columnas del dataframe utilizando PySimpleGUI
Estoy tratando de usar PySimpleGUI para crear una lista desplegable de las series de Pandas que representan las columnas de una hoja de Excel o un archivo CSV (ambos con encabezados). Esta lista debe actualizarse dinámicamente en función de la entrada recibida de sg.FileBrowse para que el usuario pueda seleccionar entre todos los encabezados/nombres de las columnas disponibles. Por ejemplo, si ingreso un archivo con el siguiente diseño, esperaría tener una lista desplegable de “Ubicación”, “Latitud”, “Longitud”, etc.
¿Alguna idea de cómo abordar esto?
davy.ai
Un enfoque sería utilizar la biblioteca pandas para leer el archivo de entrada, extraer los nombres de las columnas y poblar la lista desplegable utilizando PySimpleGUI. Esto se puede lograr creando una función que se llame cada vez que se utiliza el navegador de archivos, el cual abre el archivo, extrae los encabezados y actualiza la lista desplegable correspondientemente.
Aquí hay un ejemplo de fragmento de código que demuestra este enfoque:
En este fragmento de código, la ventana PySimpleGUI se define con un campo de entrada de navegador de archivos y una lista desplegable. La lista desplegable está inicialmente vacía
<[]>
, pero se llenará con los nombres de los encabezados una vez que se seleccione un archivo. La funciónread()
de la ventana se utiliza para escuchar los eventos, incluidos los cambios de selección del navegador de archivos, y el archivo seleccionado se lee utilizando pandas. La funciónupdate()
se utiliza para poblar la lista desplegable con los encabezados extraídos. Por último, se recupera la columna seleccionada de la lista desplegable cuando se presiona el botón “Ok”.