Daten in julianische Tageszahl in Astropie umwandeln?

Ich verwende Astropie und muss Daten wie folgt umwandeln: 2012.06.22_17:56:15_TAI in julianische Tageszahl. Ich habe es versucht:

from astropy.time import Time
hmitime = hminew['MidTime']
i=0
print(hmitime[i])
hmi0=Time(hmitime[i],scale='tai')
print(hmi0.jd)

wo hmitime es nur die Matrix mit meinen Daten ist. Aber Python zeigt mir das:

ValueError: Input values did not match any of the formats where the format keyword is optional [u'datetime', u'iso', u'isot', u'yday', u'fits', u'byear_str', u'jyear_str']

Weiß jemand, was falsch ist? Wie kann ich meine Daten umrechnen?? Danke

Ich denke, ein tatsächliches wörtliches Beispiel Ihrer Eingabedaten einschließlich Leerzeichen usw. könnte entscheidend sein, um Ihr Problem zu identifizieren ... es ist schließlich ein ValueError.
Was ist das Wörterbuch hminew? Können Sie ein Minimalbeispiel erstellen, das ich kopieren und einfügen könnte, um diesen Fehler zu generieren?

Antworten (2)

Die akzeptierten String-Formate für date-hms sind:

Format  Class    Example argument

fits    TimeFITS    ‘2000-01-01T00:00:00.000’
iso     TimeISO     ‘2000-01-01 00:00:00.000’
isot    TimeISOT    ‘2000-01-01T00:00:00.000’

https://docs.astropy.org/en/stable/time/index.html

Sie können entweder eines davon ändern oder Ihr eigenes Format definieren, indem Sie eine Klasse für das Format von der TimeFormatKlasse ableiten. https://docs.astropy.org/en/stable/api/astropy.time.TimeFormat.html#astropy.time.TimeFormat

Es sieht so aus, als hätte Ihre Eingabe das falsche Format. Lesen Sie den Algorithmus, um zu sehen, welche Formate erwartet werden.

Es gibt einen Algorithmus zum Konvertieren zwischen unserem aktuellen Datum und unserer aktuellen Uhrzeit in das julianische Datum. Die Referenz dazu ist hier. Ich habe auch einen sehr kurzen Fortran-Code, der auch JD berechnet.

Sie können dies zu Ihrem Python-Skript hinzufügen.