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='#')

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")
source
DelimitedFiles.readdlmMethod
readdlm(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é.

source
DelimitedFiles.readdlmMethod
readdlm(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")
source
DelimitedFiles.readdlmMethod
readdlm(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")
source
DelimitedFiles.readdlmMethod
readdlm(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")
source
DelimitedFiles.readdlmMethod
readdlm(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")
source
DelimitedFiles.writedlmFunction
writedlm(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")
source