Ich möchte einen Worksheet, den ich in openpyxl erstellt habe, nach verschiedenen Kriterien sortieren und filtern - in pandas geht das einfach mit worksheet = worksheet.sort_values(by=['Mitarbeiter', 'Datum', 'Patient', 'SchichtStatus'])?
1. gibt es ähnliche Funktionalitäten in openpyxl?
Sortieren und filtern in openpyxl
Hallo Ivo,
Das geht.
Ich denke das ist was du suchst:
https://openpyxl.readthedocs.io/en/stable/filters.html
Das geht.
Ich denke das ist was du suchst:
https://openpyxl.readthedocs.io/en/stable/filters.html
Hallo regerb,
vielen Dank für Deine Rückmeldung. Dieses Programm sortiert nichts in Python sondern baut in Excel eine Filterfunktion ein, d.h. man kann in dem abgespeicherten Excel-Sheet direkt in die Filterfunktion in den Spalten einsteigen. Auf der Seite steht auch:
'This will add the relevant instructions to the file but will neither actually filter nor sort.' Von daher hilft das nicht wirklich weiter, die Filterung und Sortierung muss dann in Excel geschehen.
Im xlsw-Modul kann aber in Python selber die Daten sortieren und sie dann weiterverarbeiten - das habe ich in openpyxl noch nicht gefunden.
vielen Dank für Deine Rückmeldung. Dieses Programm sortiert nichts in Python sondern baut in Excel eine Filterfunktion ein, d.h. man kann in dem abgespeicherten Excel-Sheet direkt in die Filterfunktion in den Spalten einsteigen. Auf der Seite steht auch:
'This will add the relevant instructions to the file but will neither actually filter nor sort.' Von daher hilft das nicht wirklich weiter, die Filterung und Sortierung muss dann in Excel geschehen.
Im xlsw-Modul kann aber in Python selber die Daten sortieren und sie dann weiterverarbeiten - das habe ich in openpyxl noch nicht gefunden.
Hallo Ivo,
wie Sirius schon sagt, ist es am effizientesten die Daten vor dem schreiben in die Excel-Tabelle zu sortieren.
Falls du die Daten aus irgendeinem Grund später wieder sortieren willst, kannst du sie mit openpyxl wieder aus der Tabelle auslesen, in Python sortieren und zurückschreiben.
Und wenn du unbedingt mit Python in der Excel-Tabelle sortieren willst, musst du jede einzelne Zelle auslesen, mit den anderen vergleiche und den Wert an die richtige Stelle schreiben... Aber ich komme mir schon blöd vor das überhaupt zu erwähnen.
Was noch ginge: Ich denke Excel hat eine Sort-Funktion. Die kannst du natürlich auch verwenden. Aber dann sortiert Python wieder nicht, sondern Excel.
wie Sirius schon sagt, ist es am effizientesten die Daten vor dem schreiben in die Excel-Tabelle zu sortieren.
Falls du die Daten aus irgendeinem Grund später wieder sortieren willst, kannst du sie mit openpyxl wieder aus der Tabelle auslesen, in Python sortieren und zurückschreiben.
Und wenn du unbedingt mit Python in der Excel-Tabelle sortieren willst, musst du jede einzelne Zelle auslesen, mit den anderen vergleiche und den Wert an die richtige Stelle schreiben... Aber ich komme mir schon blöd vor das überhaupt zu erwähnen.
Was noch ginge: Ich denke Excel hat eine Sort-Funktion. Die kannst du natürlich auch verwenden. Aber dann sortiert Python wieder nicht, sondern Excel.