Main Content

텍스트 파일 가져오기

MATLAB®.csv.txt 파일을 비롯하여, 구분된 텍스트 파일과 서식 지정된 텍스트 파일의 숫자형 데이터와 숫자형이 아닌 데이터를 읽고 쓸 수 있습니다. 텍스트 파일에는 종종 변수 이름과 행 이름뿐 아니라 숫자형 데이터와 텍스트 데이터가 함께 들어있을 수 있습니다. 이러한 데이터를 MATLAB에서 테이블, 타임테이블, 행렬, 셀형 배열 또는 string형 배열로 표현할 수 있습니다.

텍스트 파일의 데이터를 프로그래밍 방식으로 또는 대화형 방식으로 가져올 수 있습니다. 맞춤화된 가져오기 함수를 사용하고, 가져오기 옵션을 사용하여 데이터를 가져오는 방식을 추가로 제어하려면 프로그래밍 방식으로 가져오기를 수행합니다. 가져오기를 대화형 방식으로 수행하려면 가져오기 툴과 해당 사용자 인터페이스를 사용합니다.

데이터를 테이블로 가져오기

텍스트 파일에 테이블 형식 데이터가 있으면 데이터를 테이블로 가져올 수 있습니다. table은 동일한 유형의 데이터로 구성된 행을 포함하는 열 방향 변수로 구성됩니다. 테이블에 포함된 변수 각각은 데이터형과 크기가 서로 다를 수 있습니다. 그러나 각 변수는 모두 행 개수가 동일해야 합니다. 테이블에 대한 자세한 내용은 테이블을 생성하고 테이블에 데이터 할당하기 항목을 참조하십시오.

readtable 함수를 파일 이름과 함께 사용하여 텍스트 파일에서 테이블 형식 데이터를 테이블로 가져옵니다. 예를 들어, 샘플 파일 airlinesmall.csv에서 테이블을 만들어 보겠습니다.

T = readtable('airlinesmall.csv');

테이블의 처음 5개 행과 열을 표시합니다.

T(1:5,1:5)
ans =

  5×5 table

    Year    Month    DayofMonth    DayOfWeek    DepTime 
    ____    _____    __________    _________    ________

    1987     10          21            3        {'642' }
    1987     10          26            1        {'1021'}
    1987     10          23            5        {'2055'}
    1987     10          23            5        {'1332'}
    1987     10          22            4        {'629' }

데이터를 타임테이블로 가져오기

텍스트 파일에 테이블 형식 데이터가 들어 있고 각 행에 시간이 연결되어 있으면 데이터를 타임테이블로 가져올 수 있습니다. 테이블과 마찬가지로, 테이블 형식 데이터 변수의 행 개수가 동일하다면 타임테이블은 서로 다른 데이터형과 크기를 갖는 변수를 저장할 수 있습니다. 또한 타임테이블은 하나 이상의 타임테이블에서 타임스탬프가 지정된 데이터에 대해 정렬, 결합, 계산을 수행하는 시간 관련 함수를 제공합니다. 타임테이블에 대한 자세한 내용은 타임테이블 생성하기 항목을 참조하십시오.

readtimetable 함수를 사용하여 텍스트 파일의 테이블 형식 데이터를 타임테이블로 가져옵니다. 예를 들어, 샘플 파일 outages.csv에서 타임테이블을 만들어 보겠습니다.

TT = readtimetable('outages.csv');

타임테이블의 처음 5개 행과 열을 표시합니다.

TT(1:5,1:5)
ans =

  5×5 timetable

       OutageTime          Region         Loss     Customers     RestorationTime            Cause       
    ________________    _____________    ______    __________    ________________    ___________________

    2002-02-01 12:18    {'SouthWest'}    458.98    1.8202e+06    2002-02-07 16:50    {'winter storm'   }
    2003-01-23 00:49    {'SouthEast'}    530.14    2.1204e+05                 NaT    {'winter storm'   }
    2003-02-07 21:15    {'SouthEast'}     289.4    1.4294e+05    2003-02-17 08:14    {'winter storm'   }
    2004-04-06 05:44    {'West'     }    434.81    3.4037e+05    2004-04-06 06:10    {'equipment fault'}
    2002-03-16 06:18    {'MidWest'  }    186.44    2.1275e+05    2002-03-18 23:23    {'severe storm'   }

데이터를 행렬로 가져오기

텍스트 파일에 균일 데이터(유형이 모두 동일함)가 있으면 데이터를 행렬로 가져올 수 있습니다. 데이터를 행렬로 가져오면 최소한의 형식이 지정된 배열을 사용할 수 있습니다.

readmatrix를 사용하여 텍스트 파일의 테이블 형식 데이터를 행렬로 가져옵니다. 예를 들어, 샘플 파일 basic_matrix.txt의 데이터를 행렬로 가져와 보겠습니다.

M = readmatrix('basic_matrix.txt')
M = 5×4

     6     8     3     1
     5     4     7     3
     1     6     7    10
     4     2     8     2
     2     7     5     9

데이터를 셀형 배열로 가져오기

셀형 배열은 셀이라는 인덱싱된 데이터 컨테이너를 사용하는 데이터형입니다. 각 셀에는 모든 데이터형이 포함될 수 있습니다. 셀형 배열은 주로 텍스트 목록, 텍스트와 숫자 조합, 각기 크기가 다른 숫자형 배열 중 하나를 포함합니다.

readcell을 사용하여 텍스트 파일의 비균일 데이터(각 열의 유형이 다름)를 셀형 배열로 가져올 수 있습니다. 예를 들어, basic_cell.txt의 내용을 표시한 후 혼합된 데이터를 셀형 배열로 가져와 보겠습니다.

type basic_cell.txt
1,2,3
hello,world,NaN
10-Oct-2018 10:27:56,1,
C = readcell('basic_cell.txt')
C=3×3 cell array
    {[                   1]}    {[    2]}    {[        3]}
    {'hello'               }    {'world'}    {[      NaN]}
    {[10-Oct-2018 10:27:56]}    {[    1]}    {1x1 missing}
또는, textscan 함수와 로우 레벨 I/O 워크플로를 사용하여 텍스트 파일에서 형식 지정된 데이터를 셀형 배열로 가져올 수 있습니다. 로우 레벨 I/O 워크플로를 사용하면 데이터를 가져올 때 최대한 제어할 수 있습니다. 대부분의 워크플로에는 이러한 수준의 제어가 필요하지 않습니다. 로우 레벨 I/O를 사용하여 텍스트 데이터를 가져오는 방법에 대한 자세한 내용은 로우 레벨 I/O 함수를 사용하여 텍스트 데이터 파일 가져오기 항목을 참조하십시오.

데이터를 string형 배열로 가져오기

텍스트 파일에 여러 줄로 된 일반 텍스트가 들어 있으면 이러한 일반 텍스트를 MATLAB에서 string형 배열로 표현할 수 있습니다. string형 배열은 텍스트 조각을 저장하고 텍스트를 데이터로 사용할 수 있는 일련의 함수를 제공합니다. 예를 들어, 다른 유형의 배열을 활용하는 것과 마찬가지로, string형 배열을 형태 변경하고, 결합하고, 배열의 요소를 참조할 수 있습니다.

readlines를 사용하여 텍스트 파일에서 여러 줄로 된 일반 텍스트를 string형 배열로 가져옵니다. 예를 들어, 샘플 텍스트 파일 badpoem.txt에서 string형 배열을 만들어 보겠습니다. 텍스트 파일에 네 줄의 일반 텍스트가 들어 있으므로 이 함수는 4×1 string형 배열을 만듭니다.

lines = readlines("badpoem.txt")
lines = 4x1 string
    "Oranges and lemons,"
    "Pineapples and tea."
    "Orangutans and monkeys,"
    "Dragonflys or fleas."

가져오기 옵션을 사용하여 데이터를 가져오는 프로세스를 추가로 제어하기

테이블 형식 데이터를 가져오기 위해 가져오기 프로세스를 추가로 제어해야 하는 경우가 있습니다. import options 객체를 생성하여 가져오기 프로세스를 사용자 지정할 수 있습니다. 이 객체에는 가져오기 요구 사항에 따라 조정할 수 있는 속성이 있습니다. 예를 들어, 변수의 데이터형을 변경하거나 변수의 일부만 가져올 수 있습니다. 가져오기 옵션에 대한 자세한 내용은 detectImportOptions 항목을 참조하십시오.

대화형 방식으로 데이터 가져오기

사용자 인터페이스를 사용하는 것을 선호하는 경우 가져오기 툴을 사용하여 대화형 방식으로 데이터를 테이블이나 기타 데이터형으로 가져올 수 있습니다.

탭의 변수 섹션에서 데이터 가져오기 를 클릭하여 가져오기 툴을 엽니다. 또는, 현재 폴더 브라우저에서 파일 이름을 마우스 오른쪽 버튼으로 클릭하고 데이터 가져오기를 선택합니다. 그런 다음 가져오려는 파일을 선택합니다. 가져오기 툴 창을 사용하여 가져오기 옵션을 설정한 후 선택 항목 가져오기를 클릭하여 데이터를 MATLAB으로 가져옵니다. 자세한 내용은 가져오기 툴을 사용하여 텍스트 파일 데이터 읽어오기 항목을 참조하십시오.

grades.txt is a sample file used to portray the Import Tool.

참고 항목

| | | | | | | |

관련 항목