主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

大規模な表形式テキストファイルの読み取りと解析

次の例では,表形式データを含む大規模なテキストファイル用のデータストアを作成し,次にデータを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行ずつ読み取ります。の呼び出しごとに読み取る行数を変えるには,dsReadSizeプロパティを変更します。

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

参考

||

関連するトピック