Delimited Files

DelimitedFiles.readdlmMethod
readdlm(source, delim::AbstractChar, T::Type, eol::AbstractChar; header=false, skipstart=0, skipblanks=true, use_mmap, quotes=true, dims, comments=false, comment_char='#')

Liest eine Matrix aus der Quelle, wobei jede Zeile (getrennt durch eol) eine Reihe ergibt, mit Elementen, die durch den angegebenen Trenner getrennt sind. Die Quelle kann eine Textdatei, ein Stream oder ein Byte-Array sein. Speicher-mapped Dateien können verwendet werden, indem die Byte-Array-Darstellung des gemappten Segments als Quelle übergeben wird.

Wenn T ein numerischer Typ ist, ist das Ergebnis ein Array dieses Typs, wobei alle nicht-numerischen Elemente als NaN für Fließkommatypen oder null dargestellt werden. Andere nützliche Werte von T sind String, AbstractString und Any.

Wenn header auf true gesetzt ist, wird die erste Datenzeile als Header gelesen und das Tupel (data_cells, header_cells) wird anstelle von nur data_cells zurückgegeben.

Die Angabe von skipstart ignoriert die entsprechende Anzahl von Anfangszeilen aus der Eingabe.

Wenn skipblanks auf true gesetzt ist, werden leere Zeilen in der Eingabe ignoriert.

Wenn use_mmap auf true gesetzt ist, wird die durch source angegebene Datei für potenzielle Geschwindigkeitsvorteile im Speicher gemappt, wenn die Datei groß ist. Standard ist false. Auf einem Windows-Dateisystem sollte use_mmap nicht auf true gesetzt werden, es sei denn, die Datei wird nur einmal gelesen und auch nicht beschrieben. Es gibt einige Randfälle, in denen ein Betriebssystem Unix-ähnlich ist, das Dateisystem jedoch Windows-ähnlich ist.

Wenn quotes auf true gesetzt ist, dürfen Spalten, die in doppelte Anführungszeichen (") eingeschlossen sind, neue Zeilen und Spaltentrenner enthalten. Doppelte Anführungszeichen innerhalb eines zitierten Feldes müssen mit einem weiteren doppelten Anführungszeichen escaped werden. Die Angabe von dims als Tupel der erwarteten Zeilen und Spalten (einschließlich Header, falls vorhanden) kann das Lesen großer Dateien beschleunigen. Wenn comments auf true gesetzt ist, werden Zeilen, die mit comment_char beginnen, und der Text, der comment_char in einer Zeile folgt, ignoriert.

Beispiele

julia> using DelimitedFiles

julia> x = [1; 2; 3; 4];

julia> y = [5; 6; 7; 8];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x y])
       end

julia> readdlm("delim_file.txt", '\t', Int, '\n')
4×2 Matrix{Int64}:
 1  5
 2  6
 3  7
 4  8

julia> rm("delim_file.txt")
source
DelimitedFiles.readdlmMethod
readdlm(source, delim::AbstractChar, eol::AbstractChar; options...)

Wenn alle Daten numerisch sind, wird das Ergebnis ein numerisches Array sein. Wenn einige Elemente nicht als Zahlen geparst werden können, wird ein heterogenes Array aus Zahlen und Strings zurückgegeben.

source
DelimitedFiles.readdlmMethod
readdlm(source, delim::AbstractChar, T::Type; options...)

Das Zeilenende-Trennzeichen wird als \n betrachtet.

Beispiele

julia> using DelimitedFiles

julia> x = [1; 2; 3; 4];

julia> y = [1.1; 2.2; 3.3; 4.4];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x y], ',')
       end;

julia> readdlm("delim_file.txt", ',', Float64)
4×2 Matrix{Float64}:
 1.0  1.1
 2.0  2.2
 3.0  3.3
 4.0  4.4

julia> rm("delim_file.txt")
source
DelimitedFiles.readdlmMethod
readdlm(source, delim::AbstractChar; options...)

Das Zeilenende-Trennzeichen wird als \n betrachtet. Wenn alle Daten numerisch sind, wird das Ergebnis ein numerisches Array sein. Wenn einige Elemente nicht als Zahlen geparst werden können, wird ein heterogenes Array aus Zahlen und Strings zurückgegeben.

Beispiele

julia> using DelimitedFiles

julia> x = [1; 2; 3; 4];

julia> y = [1.1; 2.2; 3.3; 4.4];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x y], ',')
       end;

julia> readdlm("delim_file.txt", ',')
4×2 Matrix{Float64}:
 1.0  1.1
 2.0  2.2
 3.0  3.3
 4.0  4.4

julia> z = ["a"; "b"; "c"; "d"];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x z], ',')
       end;

julia> readdlm("delim_file.txt", ',')
4×2 Matrix{Any}:
 1  "a"
 2  "b"
 3  "c"
 4  "d"

julia> rm("delim_file.txt")
source
DelimitedFiles.readdlmMethod
readdlm(source, T::Type; options...)

Die Spalten werden als durch ein oder mehrere Leerzeichen getrennt angenommen. Das Zeilenende wird als \n betrachtet.

Beispiele

julia> using DelimitedFiles

julia> x = [1; 2; 3; 4];

julia> y = [5; 6; 7; 8];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x y])
       end;

julia> readdlm("delim_file.txt", Int64)
4×2 Matrix{Int64}:
 1  5
 2  6
 3  7
 4  8

julia> readdlm("delim_file.txt", Float64)
4×2 Matrix{Float64}:
 1.0  5.0
 2.0  6.0
 3.0  7.0
 4.0  8.0

julia> rm("delim_file.txt")
source
DelimitedFiles.readdlmMethod
readdlm(source; options...)

Die Spalten werden als durch ein oder mehrere Leerzeichen getrennt angenommen. Das Zeilenende wird als \n betrachtet. Wenn alle Daten numerisch sind, wird das Ergebnis ein numerisches Array sein. Wenn einige Elemente nicht als Zahlen geparst werden können, wird ein heterogenes Array aus Zahlen und Strings zurückgegeben.

Beispiele

julia> using DelimitedFiles

julia> x = [1; 2; 3; 4];

julia> y = ["a"; "b"; "c"; "d"];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x y])
       end;

julia> readdlm("delim_file.txt")
4×2 Matrix{Any}:
 1  "a"
 2  "b"
 3  "c"
 4  "d"

julia> rm("delim_file.txt")
source
DelimitedFiles.writedlmFunction
writedlm(f, A, delim='\t'; opts)

Schreibt A (einen Vektor, eine Matrix oder eine durchlaufbare Sammlung von durchlaufbaren Zeilen) als Text in f (entweder ein Dateinamen-String oder ein IO-Stream) unter Verwendung des angegebenen Trennzeichens delim (das standardmäßig Tabulator ist, aber jedes druckbare Julia-Objekt sein kann, typischerweise ein Char oder AbstractString).

Zum Beispiel können zwei Vektoren x und y derselben Länge als zwei Spalten von tabulatorgetrenntem Text in f geschrieben werden, entweder durch writedlm(f, [x y]) oder durch writedlm(f, zip(x, y)).

Beispiele

julia> using DelimitedFiles

julia> x = [1; 2; 3; 4];

julia> y = [5; 6; 7; 8];

julia> open("delim_file.txt", "w") do io
           writedlm(io, [x y])
       end

julia> readdlm("delim_file.txt", '\t', Int, '\n')
4×2 Matrix{Int64}:
 1  5
 2  6
 3  7
 4  8

julia> rm("delim_file.txt")
source