J'ai une liste de chaînes.créer une liste d'objets datetime en utilisant datetime.strptime
date_str = ["2012-11-04 1:05:21", "2013-11-03 1:05:21", "2014-11-02 1:07:31"]
Je souhaite les lire en tant qu'objets datetime. Pour une chaîne, je fais
datetime.strptime(date_str[1], "%Y-%m-%d %H:%M:%S")
mais je ne sais pas comment créer une liste d'objets datetime. Si je
datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
Je reçois cette erreur:
TypeError: must be string, not list
J'ai essayé d'utiliser une boucle:
x = datetime.strptime(date_str[0], "%Y-%m-%d %H:%M:%S")
for i in range(1,len(date_str)):
x.append(datetime.strptime(date_str[i], "%Y-%m-%d %H:%M:%S"))
mais je reçois l'erreur suivante
AttributeError: 'datetime.datetime' object has no attribute 'append'
Est il y a un moyen de créer un liste des objets datetime?
Merci @schwobaseggl. J'ai essayé cela avant et quand j'imprime x, je reçois les éléments suivants: [datetime.datetime (2012, 11, 4, 1, 5, 21), datetime.datetime (2013, 11, 3, 1, 5, 21), datetime.datetime (2014, 11, 2, 1, 7, 31)] si j'imprime x [1], il me donnera le format correct. 2013-11-03 01:05:21 – ah25
@AsiehHarati Oui, si vous imprimez une liste, elle utilisera la méthode 'repr' de ses éléments, et non le' str' qui est utilisé lorsque vous les imprimez directement. Vous pouvez comparer: 'print repr (x [0]), str (x [0])' – schwobaseggl