2016-10-27 4 views
2

ich relativ neu in Python bin und möchte von Anfang an sauberen Code schreiben. Ich brauche einen Parser eines Strings, der ein Datum in Form von "20140101" in "2014-01-01" formatiert. Wie ich das erreicht habe ist über:Neuformatierung ein Datum Zeichenfolge mit Bindestrichen

das funktioniert einwandfrei aber sieht nicht sehr sauber aus. Vielleicht gibt es keine andere Lösung, aber wenn es eine pythischere Art zum Programmieren gibt, wäre es wünschenswert, wenn Sie dies teilen würden!

+1

Haben Sie versucht, die '' datetime.strptime' und datetime.strftime' Dokumentation zu lesen? –

Antwort

3
def parse(date): 
    return "{}-{}-{}".format(date[:4], date[4:6], date[6:]) 

Hätte vielleicht einen kleinen Fehler gemacht, aber das sollte den Trick machen, wenn man bedenkt, wie Sie das machen.

Siehe auch pyformat.info Weitere Informationen zur Formatierung von Zeichenfolge des Python.

Auch ich vorschlagen, Blick in die datetime Modul für weitere Informationen über noch mehr Pythonic Weisen mit Daten zu tun. ;)

+1

Wahrscheinlich nicht einmal das Format. ''-' .join' würde auch funktionieren –

+0

True dat. Nur das format 'format' würde ein paar intuitive Optionen für einen neuen Benutzer geben. –

0

Sie können Format verwenden, wie von B. Eckles erwähnt. Sie können aber auch tun:

def parse(date): 
    return "%s-%s-%s" % (date[:4], date[4:6], date[6:]) 

Mit Format überflüssig scheint, als Sie nicht wirklich nutzen es für etwas mehr als Teile Ihrer Zeichenfolge zu ersetzen.

Verwandte Themen