Ich möchte ein Memorandum darüber erstellen, wie die im Text geschriebene Zeit auf den Python-Typ datetime analysiert wird.
Das Datum, das in XML angezeigt wird, sieht übrigens so aus.
2017-07-08T19:33:11
Ich habe viel gefunden, als ich die Parsing-Methode nachgeschlagen habe, daher werde ich den Code zusammenfassen.
import time
from datetime import datetime
from dateutil.parser import parse
start = time.time()
date="2017-07-08T19:33:11" #Zu analysierende Zeichenfolge
for i in range(100000): #parse()Schleife, um 100.000 Mal zu analysieren
dt1 = parse(date)
elapsed_time_for_parse = time.time() - start #parse()Speichert die beim Parsen verstrichene Zeit
start = time.time()
for i in range(100000): #strptime()Schleife, um 100.000 Mal zu analysieren
dt2 = datetime.strptime(date, '%Y-%m-%dT%H:%M:%S')
elapsed_time_for_strptime = time.time() - start #strptime()Speichert die beim Parsen verstrichene Zeit
start = time.time()
for i in range(100000): #Schleife, die 100.000 Mal analysiert wird, indem eine Zeichenfolge ausgeschnitten wird
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 #Speichert die verstrichene Zeit beim Parsen mit dem Zeichenfolgenausschnitt
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))
Methode | Benötigte Zeit |
---|---|
parse() | 5.8433 |
strptime() | 1.0622 |
Zeichenkettenausschnitt | 0.2875 |
parse () ist einfach, aber langsam auf einen Schlag Es ist mühsam, eine Zeichenkette auszuschneiden, aber es ist schnell.
OpenWeatherMap Code 7 ward Die Zeichenfolge für Datum und Uhrzeit wird mit Python analysiert. Extrahieren Sie das Jahr, den Monat und die Stunde miyalog Python datetime.strptime ist sehr langsam
Recommended Posts