Main Content

텍스트 파일에서 숫자형 데이터를 행렬로 가져오기

쉼표로 구분된 텍스트 파일 또는 구분 기호로 구분된 텍스트 파일로 저장된 파일에서 숫자형 데이터를 MATLAB® 배열로 가져옵니다.

쉼표로 구분된 데이터 가져오기

이 예제에서는 텍스트 파일에서 쉼표로 구분된 숫자형 데이터를 가져오는 방법을 보여줍니다. 샘플 파일을 만들고, 파일의 데이터를 모두 읽어온 다음, 지정된 위치부터 시작하는 서브셋만 읽어옵니다.

쉼표로 구분된 데이터가 포함된 샘플 파일 ph.dat를 만들고 파일의 내용을 표시합니다.

rng('default')
A = 0.9*randi(99,[3 4]);
writematrix(A,'ph.dat','Delimiter',',')
type('ph.dat')
72.9,81.9,25.2,86.4
81,56.7,49.5,14.4
11.7,9,85.5,87.3

readmatrix 함수를 사용하여 파일을 읽습니다. 이 함수는 파일의 데이터를 포함하는 3×4 double형 배열을 반환합니다.

M = readmatrix('ph.dat')
M = 3×4

   72.9000   81.9000   25.2000   86.4000
   81.0000   56.7000   49.5000   14.4000
   11.7000    9.0000   85.5000   87.3000

파일에서 첫 번째 행과 세 번째 열부터 시작하는 데이터의 사각형 부분만 가져옵니다. import options 객체를 생성하고 SelectedVariableNames 속성과 DataLines 속성을 사용하여 가져올 열과 행을 지정합니다. 그런 다음 파일에서 데이터의 선택된 부분을 가져옵니다.

opts = detectImportOptions('ph.dat');
opts.SelectedVariableNames = {'Var3','Var4'};
opts.DataLines = [1 3];
readmatrix('ph.dat',opts)
ans = 3×2

   25.2000   86.4000
   49.5000   14.4000
   85.5000   87.3000

구분된 숫자형 데이터 가져오기

이 예제에서는 writematrix 함수를 사용하여 단일 문자로 구분된 숫자형 데이터를 가져오는 방법을 보여줍니다. 샘플 파일을 만들고, 전체 파일을 읽어온 다음, 지정된 위치에서 시작하는 파일의 서브셋을 읽어옵니다.

4×4 숫자형 배열을 포함하는, 탭으로 구분된 파일 num.txt를 만들고 파일의 내용을 표시합니다.

rng('default')
A = randi(99,[4,4]);
writematrix(A,'num.txt','Delimiter','\t')
type('num.txt')
81	63	95	95
90	10	96	49
13	28	16	80
91	55	97	15

전체 파일을 읽습니다. readmatrix 함수는 구분 기호를 자동으로 확인하고 4×4 double형 배열을 반환합니다.

M = readmatrix('num.txt')
M = 4×4

    81    63    95    95
    90    10    96    49
    13    28    16    80
    91    55    97    15

파일에서 두 번째 행, 세 번째 열부터 시작하는 데이터의 사각형 블록만 읽습니다. import options 객체를 생성하고 SelectedVariableNames 속성과 DataLines 속성을 사용하여 가져올 열과 행을 지정합니다. 그런 다음 파일에서 데이터의 선택된 부분을 가져옵니다.

opts = detectImportOptions('num.txt');
opts.SelectedVariableNames = {'Var3','Var4'};
opts.DataLines = [2 4];
readmatrix('num.txt',opts)
ans = 3×2

    96    49
    16    80
    97    15

참고 항목

| | |

관련 항목