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

소스에서 행렬을 읽어옵니다. 각 행은 eol로 구분되며, 요소는 주어진 구분자로 구분됩니다. 소스는 텍스트 파일, 스트림 또는 바이트 배열일 수 있습니다. 메모리 맵 파일은 매핑된 세그먼트의 바이트 배열 표현을 소스로 전달하여 사용할 수 있습니다.

T가 숫자 유형인 경우, 결과는 해당 유형의 배열이며, 비숫자 요소는 부동 소수점 유형의 경우 NaN 또는 0으로 처리됩니다. T의 다른 유용한 값으로는 String, AbstractString, 및 Any가 있습니다.

headertrue인 경우, 데이터의 첫 번째 행이 헤더로 읽히며, (data_cells, header_cells) 튜플이 반환됩니다.

skipstart를 지정하면 입력의 해당 수의 초기 행이 무시됩니다.

skipblankstrue인 경우, 입력의 빈 행이 무시됩니다.

use_mmaptrue인 경우, source로 지정된 파일이 메모리 맵으로 되어 있어 파일이 클 경우 속도가 향상될 수 있습니다. 기본값은 false입니다. Windows 파일 시스템에서는 파일이 한 번만 읽히고 쓰이지 않는 경우가 아니면 use_mmaptrue로 설정해서는 안 됩니다. OS가 유닉스 계열이지만 파일 시스템이 윈도우 계열인 엣지 케이스가 존재합니다.

quotestrue인 경우, 큰따옴표(")로 둘러싸인 열은 새 줄 및 열 구분자를 포함할 수 있습니다. 인용된 필드 내의 큰따옴표 문자는 다른 큰따옴표로 이스케이프해야 합니다. 예상되는 행과 열의 튜플로 dims를 지정하면 대용량 파일 읽기가 빨라질 수 있습니다. commentstrue인 경우, comment_char로 시작하는 행과 해당 행의 comment_char 뒤의 텍스트는 무시됩니다.

예제

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

모든 데이터가 숫자일 경우 결과는 숫자 배열이 됩니다. 일부 요소가 숫자로 파싱될 수 없는 경우 숫자와 문자열의 이질적인 배열이 반환됩니다.

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

줄 끝 구분자는 \n으로 설정됩니다.

예제

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

행 끝 구분자는 \n으로 간주됩니다. 모든 데이터가 숫자인 경우 결과는 숫자 배열이 됩니다. 일부 요소를 숫자로 구문 분석할 수 없는 경우 숫자와 문자열의 이질적인 배열이 반환됩니다.

예제

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

열은 하나 이상의 공백으로 구분된 것으로 가정합니다. 줄 끝 구분자는 \n으로 간주됩니다.

예제

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

열은 하나 이상의 공백으로 구분된 것으로 가정합니다. 줄 끝 구분자는 \n으로 간주됩니다. 모든 데이터가 숫자일 경우 결과는 숫자 배열이 됩니다. 일부 요소가 숫자로 구문 분석될 수 없는 경우 숫자와 문자열의 이질적인 배열이 반환됩니다.

예제

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)

A (벡터, 행렬 또는 반복 가능한 행의 반복 가능한 컬렉션)을 주어진 구분 기호 delim (기본값은 탭이지만, 일반적으로 Char 또는 AbstractString인 인쇄 가능한 Julia 객체일 수 있음)을 사용하여 f (파일 이름 문자열 또는 IO 스트림)로 텍스트로 작성합니다.

예를 들어, 길이가 같은 두 벡터 xywritedlm(f, [x y]) 또는 writedlm(f, zip(x, y))를 사용하여 f에 탭으로 구분된 텍스트의 두 열로 작성할 수 있습니다.

예제

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