Ich muss eine Fortran-Binärdatei mit Python lesen, mit dem Namen merg_2015041312_4km-pixel.Z
(von here), die komprimiert ist; Die Struktur der unkomprimierten Datei ist definiert here. Die Definition besagt, dassDatensätze aus einer Fortran-Binärdatei in Python lesen
Jede Datei enthält 2 Datensätze: die erste für die "auf die Stunde" Bilder (": 00") und die zweite für die "zur halben Stunde" Bilder (": 30") .
und
Jeder Datensatz ist ein 9896 x 3298 Fortran Array von IR Helligkeitstemperaturen, die durch Subtrahieren von "75" skaliert wurden von jedem Datum in 1-Byte passen.
GrADS .ctl Dateibeschreibung:
DSET merg_1999042012_4km-pixel
OPTIONS yrev little_endian template
UNDEF 330
TITLE globally merged IR data
XDEF 9896 LINEAR 0.0182 0.036378335
YDEF 3298 LINEAR -59.982 0.036383683
ZDEF 01 LEVELS 1
TDEF 99999 LINEAR 12z04Apr1999 30mn
VARS 1
ch4 1 -1,40,1,-1 IR BT (add '75' to this value)
ENDVARS
und ich versuchte, einige Python-Code zu schreiben:
>>> import struct
>>> file = open("merg_2015041312_4km-pixel", 'rb')
>>> data = struct.unpack('>h', file.read())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
struct.error: unpack requires a string argument of length 2
Leider bin ich auf binäre Dateien nicht verwendet ...
Wie kann ich den zweiten Datensatz (halbstündlich) von dieser Datei erhalten?
Ja, ich weiß. Ich habe mich gefragt, ob es einen Weg gibt, seine innere Struktur zu finden ... vielleicht werde ich nach einem "hexischen" GUI-Editor suchen und versuchen, es so zu lesen. Vielen Dank. – urgeo
Ich fand das, konnte es helfen?'DSET merg_1999042012_4km-Pixel \t \t \t OPTIONS yrev little_endian Vorlage \t \t \t UNDEF 330 \t \t \t TITEL IR-Daten \t \t \t xDef 9896 LINEAR 0,0182 0,036378335 \t \t \t YDEF 3298 LINEAR 0,036383683 \t \t -59,982 global zusammen \t ZDEF 01 LEVELS 1 \t \t \t TDEF 99999 LINEAR 12z04Apr1999 30mn \t \t \t VARS 1 \t \t \t ch4 1 -1,40,1, -1 IR BT (Add '75' auf diesen Wert) \t \t \t ENDVARS ' – urgeo
Lassen Sie uns [fortsetzen diese Diskussion im Chat] (http://chat.stackoverflow.com/rooms/107822/discussion-between-ilja-and-urgeo). –