主要内容

이번역페이지는최신내용을담고있지않습니다。최신내용을문으로보려면여기를클릭하십시오。

테이블형식의대용량텍스트파일읽어오기및분석하기

이예제에서는테이블형식의데이터가포함된대용량텍스트파일을위한데이터저장소를생성한다음,한번에데이터블록하나씩또는파일하나씩을읽어오고처리하는방법을보여줍니다。

데이터저장소만들기

tabularTextDatastore함수를사용하여샘플파일airlinesmall.csv에서데이터저장소를만듭니다。데이터저장소를만들때,데이터에있는텍스트NA를누락된데이터로처리하도록지정할수있습니다。

ds = tabularTextDatastore(“airlinesmall.csv”“TreatAsMissing”“NA”);

데이터저장소의속성은속성값을변경하여수정할수있습니다。MissingValue속성을수정하여누락된값이0으로처리되도록지정합니다。

ds。MissingValue = 0;

이예제에서는도착지연시간에대한변수ArrDelay를관심변수로선택합니다。

ds。SelectedVariableNames =“ArrDelay”

预览함수를사용하여데이터를미리봅니다。이함수를사용해도데이터저장소의상태에향을주지않습니다。

数据=预览(ds)
data =8×1表ArrDelay ________ 8 8 21 13 4 59 3 11

데이터일부읽어오기

기본적으로,TabularTextDatastore에서한번에20000개행을읽어옵니다。를호출할때마다서로다른개수의행을읽어오려면dsReadSize속성을수정하십시오。

ds。ReadSize = 15000;

루프에서함수를사용하여ds의데이터중일부를읽어옵니다。루프는hasdata (ds)를반환할때까지실행됩니다。

总和= [];计数= [];hasdata(ds) T = read(ds);sum(end+1) = sum(T.ArrDelay);count (end+1) = length(T.ArrDelay);结束

평균도착지연시간을계산합니다。

avgarrevidelay = sum(sum)/sum(counts)
avgarrevidelay = 6.9670

데이터를다시읽어올수있도록데이터저장소를재설정합니다。

重置(ds)

한번에하나의파일읽어오기

데이터저장소에는파일마다행개수가다른파일이여러개포함되어있을수있습니다。ReadSize속성을“文件”로설정하여,데이터저장소에서한번에하나의파일을전부읽어올수있습니다。

ds。ReadSize =“文件”

ReadSize값을숫자에서“文件”로변경하거나그반대로변경할경우matlab는데이터저장소를재설정합니다。

앞에서와같이루프에서함수를사용하여ds에서읽어온다음,평균도착지연시간을계산합니다。

总和= [];计数= [];hasdata(ds) T = read(ds);sum(end+1) = sum(T.ArrDelay);count (end+1) = length(T.ArrDelay);结束avgarrevidelay = sum(sum)/sum(counts)
avgarrevidelay = 6.9670

참고 항목

||

관련 항목