Ich möchte eine Struktur in IDL erstellen und die Informationen aus meiner ASCII-Datei. Das Problem ist, dass ich mehrere ASCII-Dateien habe und immer die Anzahl der Spalten und Zeilen unterschiedlich sind. Zum Beispiel habe ich die ASCII-Datei "data.dat" und hat 50 Zeilen und 2040 Spalten. Ich weiß, dass wir die Datenstruktur definieren können (wenn wir ich nur 5 Spalten annehmen müssen):Erstellen Sie eine Struktur in IDL
datastruct = { col1:0L, col2:0.0, col3:0.0, col4:0.0, col5:0.0}
ich meine Datei lesen und dann die Struktur replizieren:
file = 'data.dat'
nrows = file_line(file) ; to estimate the number of rows
data = replicate(datastruct, nrows)
openr, lun, file, /GET_LUN
readF, lun, data
free_lun, lun
ich tun kann: print, data.col1
oder print, data.col2
und so weiter ... aber das wird geben mir nur die ersten 5 Spalten. Wie kann ich das selbe aber für 2040 Spalten machen und auch wenn wir die Anzahl der Spalten in der Datei nicht im Voraus wissen.
Die reale Datendatei enthält Flüsse von mehreren Sternen, die an verschiedenen Tagen mit entsprechenden Fehlern beobachtet wurden. Die Tabelle hat keine Kopfzeile.
Tage Flux1 Err1 FLUX2 Err2 Flux3 Err3 .............. Flux2040 Err2040
Vielen Dank für Ihre Hilfe!
Welche Art von Daten sind das? Numerisch? Gemischte Typen? Haben sie eine Überschrift? – lbusett
Ja numerisch. Die reale Datendatei enthält Flüsse von mehreren Sternen, die an verschiedenen Tagen mit entsprechenden Fehlern beobachtet wurden. Die Tabelle hat keine Kopfzeile. Tage Flux1 Err1 Flux2 Err2 Flux3 Err3 .............. Flux2040 Err2040 –
Also jede Datei hat 2n + 1 Datensätze: einen für Datum und n jeweils für Flüsse und Fehler, richtig? – lbusett