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

Lee una matriz de la fuente donde cada línea (separada por eol) da una fila, con elementos separados por el delimitador dado. La fuente puede ser un archivo de texto, un flujo o un arreglo de bytes. Se pueden usar archivos mapeados en memoria pasando la representación del arreglo de bytes del segmento mapeado como fuente.

Si T es un tipo numérico, el resultado es un arreglo de ese tipo, con cualquier elemento no numérico como NaN para tipos de punto flotante, o cero. Otros valores útiles de T incluyen String, AbstractString y Any.

Si header es true, la primera fila de datos se leerá como encabezado y se devolverá la tupla (data_cells, header_cells) en lugar de solo data_cells.

Especificar skipstart ignorará el número correspondiente de líneas iniciales de la entrada.

Si skipblanks es true, las líneas en blanco en la entrada serán ignoradas.

Si use_mmap es true, el archivo especificado por source se mapea en memoria para posibles aceleraciones si el archivo es grande. El valor predeterminado es false. En un sistema de archivos de Windows, use_mmap no debe establecerse en true a menos que el archivo solo se lea una vez y tampoco se escriba. Existen algunos casos límite donde un sistema operativo es similar a Unix pero el sistema de archivos es similar a Windows.

Si quotes es true, se permite que las columnas encerradas entre comillas dobles (") contengan nuevas líneas y delimitadores de columna. Los caracteres de comillas dobles dentro de un campo entre comillas deben escaparse con otra comilla doble. Especificar dims como una tupla de las filas y columnas esperadas (incluyendo el encabezado, si lo hay) puede acelerar la lectura de archivos grandes. Si comments es true, las líneas que comienzan con comment_char y el texto que sigue a comment_char en cualquier línea son ignoradas.

Ejemplos

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 todos los datos son numéricos, el resultado será un arreglo numérico. Si algunos elementos no se pueden analizar como números, se devuelve un arreglo heterogéneo de números y cadenas.

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

El delimitador de fin de línea se toma como \n.

Ejemplos

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...)

El delimitador de fin de línea se toma como \n. Si todos los datos son numéricos, el resultado será un array numérico. Si algunos elementos no se pueden analizar como números, se devuelve un array heterogéneo de números y cadenas.

Ejemplos

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...)

Se asume que las columnas están separadas por uno o más espacios en blanco. El delimitador de fin de línea se toma como \n.

Ejemplos

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...)

Se asume que las columnas están separadas por uno o más espacios en blanco. El delimitador de fin de línea se toma como \n. Si todos los datos son numéricos, el resultado será un arreglo numérico. Si algunos elementos no se pueden analizar como números, se devuelve un arreglo heterogéneo de números y cadenas.

Ejemplos

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)

Escribe A (un vector, matriz o una colección iterable de filas iterables) como texto en f (ya sea una cadena de nombre de archivo o un flujo IO) utilizando el delimitador dado delim (que por defecto es tabulador, pero puede ser cualquier objeto imprimible de Julia, típicamente un Char o AbstractString).

Por ejemplo, dos vectores x e y de la misma longitud se pueden escribir como dos columnas de texto delimitado por tabuladores en f ya sea con writedlm(f, [x y]) o con writedlm(f, zip(x, y)).

Ejemplos

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