Deutsche Umlaute und strptime
Verfasst: Sonntag 5. Februar 2017, 10:04
Guten Tag,
ich bin neu hier und werde hier wohl in Zukunft öfter mal vorbeischauen - so viel vorweg.
Zum eigentlichen Problem, welches mich jetzt eine Weile aufhält, ist diese Exception:
Ich versuche jetzt schon eine Weile, dieses Datum zu parsen und es will einfach nicht funktionieren:
(Randnote: dt ist ein Selenium WebElement, daher der Zugriff auf 'text')
Diesen Thread habe ich dazu in diesem Forum gefunden:
viewtopic.php?f=1&t=9904&p=62275&hilit= ... A4r#p62275
Leider ist dies für mich keine Lösung, oder ich müsste alle Monate übersetzen, was ich vermeiden möchte.
Gibt es einen 'modernen' (da der Thread schon alt ist) Weg mit diesem Problem umzugehen?
Mein kleines Program wird auf Windows 10 mit Python 3.0.6 entwickelt und ich verwende:
um Locale auf '('de_DE', 'cp1252')' zu setzen (eine Locale de_DE.utf8 existiert bei mir leider nicht, aber würde das das Problem lösen?)
Ich bin noch sehr neu in Python, eventuell kann mir jemand unter die Arme greifen. Wäre sehr dankbar.
Ich könnte mir sonst statt der englischen Bezeichnung noch vorstellen, einfach den Namen durch eine numerische Angabe zu ersetzen. Wie gesagt hoffe ich aber, dass es eventuell einen schöneren Weg gibt.
Danke fürs Lesen und evtl. Antworten,
Cronut
ich bin neu hier und werde hier wohl in Zukunft öfter mal vorbeischauen - so viel vorweg.
Zum eigentlichen Problem, welches mich jetzt eine Weile aufhält, ist diese Exception:
Code: Alles auswählen
ValueError: time data '3. Mär 2012' does not match format '%d. %b %Y'
Code: Alles auswählen
self.dt = datetime.strptime(dt.text, '%d. %b %Y')
Diesen Thread habe ich dazu in diesem Forum gefunden:
viewtopic.php?f=1&t=9904&p=62275&hilit= ... A4r#p62275
Leider ist dies für mich keine Lösung, oder ich müsste alle Monate übersetzen, was ich vermeiden möchte.
Gibt es einen 'modernen' (da der Thread schon alt ist) Weg mit diesem Problem umzugehen?
Mein kleines Program wird auf Windows 10 mit Python 3.0.6 entwickelt und ich verwende:
Code: Alles auswählen
locale.setlocale(locale.LC_ALL, '')
Ich bin noch sehr neu in Python, eventuell kann mir jemand unter die Arme greifen. Wäre sehr dankbar.
Ich könnte mir sonst statt der englischen Bezeichnung noch vorstellen, einfach den Namen durch eine numerische Angabe zu ersetzen. Wie gesagt hoffe ich aber, dass es eventuell einen schöneren Weg gibt.
Danke fürs Lesen und evtl. Antworten,
Cronut