Seite 1 von 1
Pandas Zeitangabe Formatieren
Verfasst: Montag 4. Mai 2015, 19:35
von Lienz20013
He, Ho ich habe ein Problem mit pandas ein Zeitangaben einzulesen und zwar sieht es folgendermaßen aus:
'29. Mrz. 15 10:48:34'
das hätte ich gern in der Form:
'2015-03-29 10:48:34'
Weiß jemand wie ich das Formatieren kann? Weil mit dem oberen Beispiel kann man nicht in pandas arbeiten.
Re: Pandas Zeitangabe Formatieren
Verfasst: Dienstag 5. Mai 2015, 11:17
von sparrow
Python kann lokalisierte Datumsangaben lesen.
Ich weiß nicht wie das unter anderen Betriebssystemen ist, aber unter Windows musst du ihm unter Umständen unter die Arme greifen:
Code: Alles auswählen
>>> import locale
>>> import datetime
>>> locale.setlocale(locale.LC_ALL, 'deu_deu')
'German_Germany.1252'
>>> a = "29. Mrz. 15 10:48:34"
>>> b = datetime.datetime.strptime(a, "%d. %b. %y %H:%M:%S")
>>> b
datetime.datetime(2015, 3, 29, 10, 48, 34)
Damit hast du den Zeitstempel schon einmal in eine datetime.datetime-Objekt gewandelt. Wie man das dann in ein neues Format ändert, kriegst du selber raus. (Stichwort: strftime)
Ich weiß nicht ob man das mit der setzen von "locale" auch generischer machen kann, denn unter Linux wird das wahrscheinlich nicht deu_deu sondern de_DE sein.
Re: Pandas Zeitangabe Formatieren
Verfasst: Dienstag 5. Mai 2015, 13:04
von darktrym
Tatsache auch kaputtes wie "Mrz".
Re: Pandas Zeitangabe Formatieren
Verfasst: Dienstag 5. Mai 2015, 13:37
von sparrow
Naja... so richtig
kaputt ist das nicht.
Re: Pandas Zeitangabe Formatieren
Verfasst: Dienstag 5. Mai 2015, 13:42
von BlackJack
@sparrow: Da steht aber „Mär.” und der OP hat „Mrz.”
Da AFAIK MS Office den März mit Mrz. abkürzt ist das natürlich ein de facto Standard.

Re: Pandas Zeitangabe Formatieren
Verfasst: Dienstag 5. Mai 2015, 13:44
von sparrow
Ich nehme alles zurück und behaupte das Gegenteil!