2017-02-02 7 views
4

Gibt es eine einfache Möglichkeit, Ziffern, die den Monat und das Jahr darstellen, in Text umzuwandeln?Ziffern in Monat Jahr?

So zum Beispiel:

1208 
109 
209 
309 
409 

wären:

December 2008 
January 2009 
February 2009 
March 2009 
April 2009 

Die einzige Art, wie ich es derzeit tun denken kann, ist über eine Reihe von if/else-Anweisungen.

+1

Sie sollten zeigen, was Sie versucht haben –

Antwort

6

Sicher, die Idee:

  • die Zahlen in Strings
  • .strptime() Strings laden in Datetime-Objekte
  • Verwendung .strftime() Datetimes Dump wieder in einem gewünschten Format in Strings Verwendung konvertieren (%B %Y in Ihrem Fall)

Demo:

In [1]: l = [1208, 109, 209, 309, 409] 

In [2]: [datetime.strptime(str(item), "%m%y").strftime("%B %Y") for item in l] 
Out[2]: ['December 2008', 'January 2009', 'February 2009', 'March 2009', 'April 2009']