Je veux faire un mémorandum sur la façon d'analyser l'heure écrite dans le texte dans le type datetime de python.
À propos, la date qui apparaît dans XML ressemble à ceci.
2017-07-08T19:33:11
J'en ai trouvé beaucoup en recherchant la méthode d'analyse, je vais donc résumer le code.
import time
from datetime import datetime
from dateutil.parser import parse
start = time.time()
date="2017-07-08T19:33:11" #Chaîne de caractères à analyser
for i in range(100000): #parse()Boucle pour analyser 100 000 fois
dt1 = parse(date)
elapsed_time_for_parse = time.time() - start #parse()Stocke le temps écoulé lors de l'analyse avec
start = time.time()
for i in range(100000): #strptime()Boucle pour analyser 100 000 fois
dt2 = datetime.strptime(date, '%Y-%m-%dT%H:%M:%S')
elapsed_time_for_strptime = time.time() - start #strptime()Stocke le temps écoulé lors de l'analyse avec
start = time.time()
for i in range(100000): #Boucle qui analyse 100 000 fois en coupant une chaîne de caractères
dt3 = datetime(
year=int(date[0:4]),month=int(date[5:7]),day=int(date[8:10]),
hour=int(date[11:13]),minute=int(date[14:16]),second=int(date[17:20])
)
elapsed_time_for_cutparse = time.time() - start #Stocke le temps écoulé lors de l'analyse avec découpe de chaîne de caractères
print('parse() takes {:.4f}sec, dt1:{}'.format(elapsed_time_for_parse,dt1))
print('strptime() takes {:.4f}sec, dt2:{}'.format(elapsed_time_for_strptime,dt2))
print('cut and parse takes {:.4f}sec, dt3:{}'.format(elapsed_time_for_cutparse,dt3))
Méthode | Temps requis |
---|---|
parse() | 5.8433 |
strptime() | 1.0622 |
Découpe de chaîne de caractères | 0.2875 |
parse () est facile mais lent d'un seul coup Il est difficile de couper une chaîne de caractères, mais c'est rapide.
OpenWeatherMap Code 7 ward La chaîne de caractères de date et d'heure est analysée avec python. Extraire l'année, le mois et l'heure miyalog Python datetime.strptime est très lent
Recommended Posts