Wie schreibt man Fortran Output als CSV-Datei?

7

Kann mir jemand sagen, wie ich meine Ausgabe des Fortran-Programms im CSV-Format schreiben kann? So kann ich die CSV-Datei in Excel zum Plotten von Daten öffnen.

    
aibk01 20.08.2011, 07:16
quelle

4 Antworten

8

Ich würde auch das csv_file-Modul von FLIBS empfehlen. Fortran ist gut ausgestattet, um CSV-Dateien zu lesen, aber nicht so sehr, um sie zu schreiben. Mit dem Modul csv_file legen Sie

%Vor%

am Anfang Ihrer Funktion / Unterroutine und rufen Sie dann mit:

auf %Vor%

wobei unit = die Nummer der Dateieinheit, value = das Array oder der skalare Wert, den Sie schreiben möchten, und advance = .true. oder falsch. abhängig davon, ob Sie zur nächsten Zeile wechseln möchten oder nicht.

Beispielprogramm:

%Vor%

Ausgabe:

1,2,3

4,5

Wenn Sie stattdessen nur den Schreibbefehl verwenden möchten, müssen Sie Folgendes tun:

%Vor%

ist sehr verworren und erfordert, dass Sie die maximale Anzahl der Stellen kennen, die Ihre Werte haben.

Ich würde dringend empfehlen, das csv_file-Modul zu verwenden. Es hat mir sicher viele Stunden der Frustration erspart.

    
bananafish 22.08.2011, 05:05
quelle
9

Eine etwas einfachere Version der write-Anweisung könnte sein:

%Vor%

Das funktioniert natürlich nur, wenn Ihre Daten numerisch oder einfach wiederholbar sind. Sie können die Formatierung Ihrem Tabellenkalkulationsprogramm überlassen oder hier expliziter sein.

    
Mike 20.12.2011 15:08
quelle
2

Zehn Sekunden Arbeit mit einer Suchmaschine findet mich die FLIBS Bibliothek, die ein Modul namens csv_file , das Strings, Skalare und Arrays aus dem CSV-Format ausgibt.

    
talonmies 20.08.2011 10:28
quelle
0

Hier ist was ich benutze (arbeitet mit G95):

%Vor%

Der Intel-Compiler erkennt

%Vor%

ohne überzählige Leerzeichen, und die Zeile kann mehr als 999 Spalten haben.

Um überflüssige Leerzeichen mit F95 zu entfernen, schreiben Sie zuerst in einen Zeichenpuffer und verwenden Sie dann Ihr eigenes CSV_write-Programm, um die überflüssigen Leerzeichen wie folgt herauszunehmen:

%Vor%

Sie können auch

verwenden %Vor%

wobei Ihr CSV_write-Programm in Buf Whitespace durch "," ersetzt. Dies ist insofern problematisch, als dass Zeichenvariablen nicht getrennt werden, es sei denn, es gibt zusätzliche Leerzeichen (d. H. "A", "abc" ist OK).

    
user3772612 17.05.2016 17:24
quelle

Tags und Links