Delimited Files
DelimitedFiles.readdlm
— Methodreaddlm(source, delim::AbstractChar, T::Type, eol::AbstractChar; header=false, skipstart=0, skipblanks=true, use_mmap, quotes=true, dims, comments=false, comment_char='#')
Lire une matrice à partir de la source où chaque ligne (séparée par eol
) donne une ligne, avec des éléments séparés par le délimiteur donné. La source peut être un fichier texte, un flux ou un tableau d'octets. Des fichiers mappés en mémoire peuvent être utilisés en passant la représentation du tableau d'octets du segment mappé comme source.
Si T
est un type numérique, le résultat est un tableau de ce type, avec tout élément non numérique comme NaN
pour les types à virgule flottante, ou zéro. D'autres valeurs utiles de T
incluent String
, AbstractString
, et Any
.
Si header
est true
, la première ligne de données sera lue comme en-tête et le tuple (data_cells, header_cells)
est retourné au lieu de seulement data_cells
.
Spécifier skipstart
ignorera le nombre correspondant de lignes initiales de l'entrée.
Si skipblanks
est true
, les lignes vides dans l'entrée seront ignorées.
Si use_mmap
est true
, le fichier spécifié par source
est mappé en mémoire pour des gains de vitesse potentiels si le fichier est volumineux. La valeur par défaut est false
. Sur un système de fichiers Windows, use_mmap
ne doit pas être défini sur true
à moins que le fichier ne soit lu qu'une seule fois et ne soit également pas écrit. Certains cas particuliers existent où un OS est de type Unix mais le système de fichiers est de type Windows.
Si quotes
est true
, les colonnes entourées de caractères de guillemet double (") peuvent contenir des nouvelles lignes et des délimiteurs de colonnes. Les caractères de guillemet double à l'intérieur d'un champ cité doivent être échappés avec un autre guillemet double. Spécifier dims
comme un tuple des lignes et colonnes attendues (y compris l'en-tête, le cas échéant) peut accélérer la lecture de fichiers volumineux. Si comments
est true
, les lignes commençant par comment_char
et le texte suivant comment_char
dans n'importe quelle ligne sont ignorés.
Exemples
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")
DelimitedFiles.readdlm
— Methodreaddlm(source, delim::AbstractChar, eol::AbstractChar; options...)
Si toutes les données sont numériques, le résultat sera un tableau numérique. Si certains éléments ne peuvent pas être analysés en tant que nombres, un tableau hétérogène de nombres et de chaînes est renvoyé.
DelimitedFiles.readdlm
— Methodreaddlm(source, delim::AbstractChar, T::Type; options...)
Le délimiteur de fin de ligne est pris comme \n
.
Exemples
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")
DelimitedFiles.readdlm
— Methodreaddlm(source, delim::AbstractChar; options...)
Le délimiteur de fin de ligne est pris comme \n
. Si toutes les données sont numériques, le résultat sera un tableau numérique. Si certains éléments ne peuvent pas être analysés comme des nombres, un tableau hétérogène de nombres et de chaînes est renvoyé.
Exemples
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")
DelimitedFiles.readdlm
— Methodreaddlm(source, T::Type; options...)
Les colonnes sont supposées être séparées par un ou plusieurs espaces. Le délimiteur de fin de ligne est pris comme \n
.
Exemples
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")
DelimitedFiles.readdlm
— Methodreaddlm(source; options...)
Les colonnes sont supposées être séparées par un ou plusieurs espaces. Le délimiteur de fin de ligne est considéré comme \n
. Si toutes les données sont numériques, le résultat sera un tableau numérique. Si certains éléments ne peuvent pas être analysés comme des nombres, un tableau hétérogène de nombres et de chaînes est renvoyé.
Exemples
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")
DelimitedFiles.writedlm
— Functionwritedlm(f, A, delim='\t'; opts)
Écrit A
(un vecteur, une matrice ou une collection itérable de lignes itérables) en tant que texte dans f
(soit une chaîne de caractères de nom de fichier, soit un flux IO
) en utilisant le délimiteur donné delim
(qui par défaut est une tabulation, mais peut être n'importe quel objet Julia imprimable, typiquement un Char
ou un AbstractString
).
Par exemple, deux vecteurs x
et y
de la même longueur peuvent être écrits comme deux colonnes de texte délimité par des tabulations dans f
soit par writedlm(f, [x y])
soit par writedlm(f, zip(x, y))
.
Exemples
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")