このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
大規模な表形式テキストファイルの読み取りと解析
次の例では,表形式データを含む大規模なテキストファイル用のデータストアを作成し,次にデータを1ブロックずつまたは1ファイルずつ読み取って処理する方法を説明します。
データストアの作成
関数tabularTextDatastore
を使用して,サンプルファイルairlinesmall.csv
からデータストアを作成します。データストアを作成するときに、データ内のテキストNA
を欠損データとして扱うことを指定できます。
ds = tabularTextDatastore (“airlinesmall.csv”,“TreatAsMissing”,“NA”);
データストアのプロパティを変更することで,そのプロパティを修正できます。MissingValue
プロパティを変更して,欠損値を0として扱うことを指定します。
ds。MissingValue = 0;
この例では,到着遅延時間の変数ArrDelay
を目的の変数として選択します。
ds。SelectedVariableNames =“ArrDelay”;
関数预览
を使用してデータをプレビューします。この関数は,データストアの状態には影響しません。
data =预览(ds)
data =8×1表ArrDelay ________ 8 8 21 13 4 59 3 11
データのサブセットの読み取り
既定では,读
はTabularTextDatastore
から一度に20000行ずつ読み取ります。读
の呼び出しごとに読み取る行数を変えるには,ds
のReadSize
プロパティを変更します。
ds。ReadSize = 15000;
関数读
を而
ループ内で使用して,ds
からデータのサブセットを読み取ります。ループはhasdata (ds)
が假
を返すまで実行されます。
金额= [];数量= [];而hasdata(ds) T = read(ds);金额(终端+ 1)=总和(T.ArrDelay);结束计数(+ 1)=长度(T.ArrDelay);结束
平均到着遅延時間の計算
avgArrivalDelay =笔(金额)/笔(计数)
avgArrivalDelay = 6.9670
データを再度読み取れるように,データストアをリセットします。
重置(ds)
一度に1ファイルずつの読み取り
1つのデータストアに,それぞれ行数が異なる複数のファイルが含まれる場合があります。データストアから一度に1つずつファイル全体を読み取るには,ReadSize
プロパティを“文件”
に設定します。
ds。ReadSize =“文件”;
ReadSize
の値を数値から“文件”
に変更した場合,あるいはその逆に変更した場合,MATLABではデータストアがリセットされます。
前と同様,而
ループ内で関数读
を使用してds
から読み取り,平均到着遅延時間を計算します。
金额= [];数量= [];而hasdata(ds) T = read(ds);金额(终端+ 1)=总和(T.ArrDelay);结束计数(+ 1)=长度(T.ArrDelay);结束avgArrivalDelay =笔(金额)/笔(计数)
avgArrivalDelay = 6.9670
参考
tabularTextDatastore
|高
|mapreduce