Seite 1 von 1
Datumsfilter mit Excel-Tabelle
Verfasst: Mittwoch 14. April 2021, 12:38
von Seppel90
Hallo Zusammen,
ich möchte gerne mit Python einen Datumsbereich mit den jeweiligen Werten abfragen allerdings brauche ich dabei Hilfe.
Die erste Sache ( wo ich auch schon das Problem vermute...) So sieht die Excel Tabelle aus welche als Ursprung gilt:
Und so der df:
Wie man sieht ist das Datumsformat im eingelesenen df anders als in der excel Tabelle. Und ich danke da liegt das Problem.
Denn wenn ich versuche mit "datetime" zu arbeiten kommt folgende Meldung:
Code: Alles auswählen
import pandas as pd
import datetime
df_da = pd.read_excel("Datum_Test.xlsx",
header=0)
df_da[(df_da['Meldung\nDatum'] > '2020-01-01') & (df_da['Meldung\nDatum'] < '2020-02-01')]
Meldung: TypeError: '>' not supported between instances of 'datetime.datetime' and 'str'
Bei meinen Versuchen dann alles passend zu konvertieren stoße ich nur auf verschiedene Fehlermeldungen.
Vielen dank im Voraus für Ratschläge.
Gruß
Re: Datumsfilter mit Excel-Tabelle
Verfasst: Mittwoch 14. April 2021, 13:48
von Sirius3
Du vergleichst ja gar nicht mit einem datetime, sondern mit einem String.
Code: Alles auswählen
df_da[(df_da['Meldung\nDatum'] > datetime.datetime(2020, 1, 1)) & (df_da['Meldung\nDatum'] < datetime.datetime(2020, 2, 1))]
Re: Datumsfilter mit Excel-Tabelle
Verfasst: Mittwoch 14. April 2021, 14:32
von Seppel90
Das macht Sin..... aber auch dein Vorschlag führt zur selben Meldung.
Fehler: TypeError: '>' not supported between instances of 'str' and 'datetime.datetime'
Muss ich die Spalte vorher in ein Format umwandeln was mit datetime komatibel ist?
Sirius3 hat geschrieben: Mittwoch 14. April 2021, 13:48
Du vergleichst ja gar nicht mit einem datetime, sondern mit einem String.
Code: Alles auswählen
df_da[(df_da['Meldung\nDatum'] > datetime.datetime(2020, 1, 1)) & (df_da['Meldung\nDatum'] < datetime.datetime(2020, 2, 1))]
[/quote]
Re: Datumsfilter mit Excel-Tabelle
Verfasst: Mittwoch 14. April 2021, 15:01
von Sirius3
Welchen Typ hat denn die Datumsspalte?
Die Fehlermeldungen weichen nämlich voneinander ab.
Zuerst hattest Du
TypeError: '>' not supported between instances of 'datetime.datetime' and 'str'
und jetzt angeblich
TypeError: '>' not supported between instances of 'str' and 'datetime.datetime'
Du hast also mehr geändert, als Du hier zeigst.
Re: Datumsfilter mit Excel-Tabelle
Verfasst: Donnerstag 15. April 2021, 08:50
von Seppel90
Sirius3 hat geschrieben: Mittwoch 14. April 2021, 15:01
Welchen Typ hat denn die Datumsspalte?
Die Fehlermeldungen weichen nämlich voneinander ab.
Zuerst hattest Du
TypeError: '>' not supported between instances of 'datetime.datetime' and 'str'
und jetzt angeblich
TypeError: '>' not supported between instances of 'str' and 'datetime.datetime'
Du hast also mehr geändert, als Du hier zeigst.
Code: Alles auswählen
import pandas as pd
import datetime
df_da = pd.read_excel("Datum_Test.xlsx",
header=0)
df_da[(df_da['Meldung\nDatum'] > datetime.datetime(2020, 1, 1)) & (df_da['Meldung\nDatum'] < datetime.datetime(2020, 2, 1))]
Ich habe nur deine Codezeile eingefügt.
Das Format in der Excel Tabelle ist folgendes:

Re: Datumsfilter mit Excel-Tabelle
Verfasst: Donnerstag 15. April 2021, 09:56
von Sirius3
Ich wollte den Typ der Spalte des Pandas-Dataframes wissen.
Es scheint irgendwo eine Zeile zu geben, die kein Datum ist.
Re: Datumsfilter mit Excel-Tabelle
Verfasst: Donnerstag 15. April 2021, 13:07
von Seppel90
Sirius3 hat geschrieben: Donnerstag 15. April 2021, 09:56
Ich wollte den Typ der Spalte des Pandas-Dataframes wissen.
Es scheint irgendwo eine Zeile zu geben, die kein Datum ist.
Code: Alles auswählen
:
import pandas as pd
import datetime
df_da = pd.read_excel("Datum_Test.xlsx",
header=0)
print(df_da.columns)
type(df_da.columns)
#df_da[(df_da['Meldung\nDatum'] > datetime.datetime(2020, 1, 1)) & (df_da['Meldung\nDatum'] < datetime.datetime(2020, 2, 1))]
Index(['Anwender', 'Meldung\nDatum', 'Grund'], dtype='object')
pandas.core.indexes.base.Index
Sorry....

Da habe ich dich falsch verstanden. Ich hoffe es ist das was du brauchst.
Re: Datumsfilter mit Excel-Tabelle
Verfasst: Donnerstag 15. April 2021, 13:45
von Sirius3
Nein, ich meinte nicht, welchen Typ die Eigenschaft columns hat, sondern welchen Typ die Spalte "Meldung\nDatum" hat.
Und wahrscheinlich ist die vom Typ object, weil es mindestens eine Zeile gibt, in der kein Datum steht.
Re: Datumsfilter mit Excel-Tabelle
Verfasst: Donnerstag 15. April 2021, 13:59
von Seppel90
Sirius3 hat geschrieben: Donnerstag 15. April 2021, 13:45
Nein, ich meinte nicht, welchen Typ die Eigenschaft columns hat, sondern welchen Typ die Spalte "Meldung\nDatum" hat.
Und wahrscheinlich ist die vom Typ object, weil es mindestens eine Zeile gibt, in der kein Datum steht.
Achso....
Ja du hast recht es handelt sich hie rum ein "object".
Gibt es denn eine Möglichkeit trotzdem nach Datum zu filtern? oder muss ich dann vorher mit einem anderen Befehl den Datentyp ändern?
Re: Datumsfilter mit Excel-Tabelle
Verfasst: Donnerstag 15. April 2021, 14:03
von Sirius3
Du mußt halt herausfinden, warum das kein Datum ist.
Re: Datumsfilter mit Excel-Tabelle
Verfasst: Donnerstag 15. April 2021, 15:32
von Seppel90
Sirius3 hat geschrieben: Donnerstag 15. April 2021, 14:03
Du mußt halt herausfinden, warum das kein Datum ist.
Habe den Fehler gefunden ein "," statt ein Punkt
Vielen Dank noch mal Sirius3