3 Möglichkeiten, Zeitzeichenfolgen mit Python zu analysieren [Hinweis]

Was willst du tun

Ich möchte ein Memorandum darüber erstellen, wie die im Text geschriebene Zeit auf den Python-Typ datetime analysiert wird.

Umgebung

Hintergrund

    1. Das Datum und die Uhrzeit, die im XML von OpenWeatherMap angezeigt wurden, hatten ein Format, das ich nie gesehen hatte (nur für mich selbst), und die Uhrzeit war GMT (UTC). Es ist schwierig, mit der Situation umzugehen, in der die Daten aufgrund des Zeitunterschieds unterschiedlich sind, es sei denn, der Prozess des Hinzufügens von 2,9 Stunden wird durchgeführt.
    1. Ich dachte, es wäre am besten, es in eine vorbereitete Form zu geben und den Zeitunterschied zusätzlich zu berechnen.

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))

Ergebnis

Methode Benötigte Zeit
parse() 5.8433
strptime() 1.0622
Zeichenkettenausschnitt 0.2875

Zusammenfassung

parse () ist einfach, aber langsam auf einen Schlag Es ist mühsam, eine Zeichenkette auszuschneiden, aber es ist schnell.

Die Seite, die ich als Referenz verwendet habe

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

Ergebnisbildschirm des Jupyter-Notebooks

image.png

Recommended Posts

3 Möglichkeiten, Zeitzeichenfolgen mit Python zu analysieren [Hinweis]
6 Möglichkeiten zum Stringen von Objekten in Python
Analysieren Sie XML in Python
Eine clevere Möglichkeit zur Zeitverarbeitung mit Python
Beachten Sie, dass Python ein Daemon ist
Vergleichen Sie Zeichenfolgen in Python
Strings in Python umkehren
Zur Darstellung von Datum, Uhrzeit, Uhrzeit und Sekunden in Python
Konvertieren Sie Datum und Uhrzeit in Zeitzonen in Unixtime in Python2.7
Analysieren Sie eine JSON-Zeichenfolge, die in eine Datei in Python geschrieben wurde
So messen Sie die Verarbeitungszeit mit Python oder Java
Beachten Sie, dass Sie Materialien in Maya Python Bildtexturen zuweisen
Beachten Sie beim Initialisieren einer Liste in Python
Mehrstellige Multiplikationszeit bis zu 300 Millionen Stellen in Python
Dinge, die Sie bei der Verarbeitung von Zeichenfolgen in Python2 beachten sollten
Dinge, die Sie bei der Verarbeitung von Zeichenfolgen in Python 3 beachten sollten
Ich möchte Strings in Kotlin wie Python manipulieren!
So löschen Sie stdout in Python
Melden Sie sich auf der Website in Python an
Analysieren Sie den Benutzeragenten in Python
Python-Eingabehinweis in AtCoder
Sprechen mit Python [Text zu Sprache]
Wie man in Python entwickelt
Post an Slack in Python
Verschiedene Methoden zur Berechnung der Ähnlichkeit zwischen Daten mit Python
Erlauben Sie Python, die Zeichenfolge der Eingabedatei aus dem Ordner auszuwählen
[Python] Wie man PCA mit Python macht
[Hinweis] Project Euler in Python (Problem 1-22)
Konvertieren Sie Markdown in Python in PDF
So sammeln Sie Bilder in Python
[Einführung in Python3 Tag 13] Kapitel 7 Zeichenfolgen (7.1-7.1.1.1)
Verwendung von SQLite in Python
[Einführung in Python] So analysieren Sie JSON
Messen Sie die Ausführungszeit von Funktionen in Python
Im Python-Befehl zeigt Python auf Python3.8
[Einführung in Python3 Tag 14] Kapitel 7 Zeichenfolgen (7.1.1.1 bis 7.1.1.4)
Versuchen Sie, Trace in Python zu berechnen
[Einführung in Python3 Tag 15] Kapitel 7 Zeichenfolgen (7.1.2-7.1.2.2)
Python (vom ersten Mal bis zur Ausführung)
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
Fremdschlüssel in SQLite von Python [Hinweis]
Verwendung von PubChem mit Python
5 Möglichkeiten zum Erstellen eines Python-Chatbots
Code-Tests rund um die Uhr in Python
Umgang mit Japanisch mit Python
Eine Alternative zu "Pause" in Python
Extrahieren Sie mit Python Zeichenfolgen aus Dateien
Bestimmen Sie das Datums- und Uhrzeitformat mit Python und konvertieren Sie es in Unixtime
So schreiben Sie offline in Echtzeit Lösen von E04-Problemen mit Python
Verschiedene Möglichkeiten, um in Python ein Array von Zahlen von 1 bis 10 zu erstellen.
[Hinweis] Websites zu KI / maschinellem Lernen / Python [von Zeit zu Zeit aktualisiert]
So berechnen Sie "xx time" in einem Schuss mit Python timedelta
Ich habe versucht, PLSA in Python zu implementieren
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Versuchen Sie, sich mit Python bei qiita anzumelden
Installieren Sie Pyaudio, um Wellen in Python zu spielen