csvファイルの読み込みを速くする方法

조회 수: 10 (최근 30일)
Takao
Takao 2020년 10월 13일
편집: Hiroyuki Hishida 2020년 10월 15일
現在、1ファイル800MBほどあるテキストデータを読み込む作業をしています。
当然ながら、読み込みに掛かる時間が長く、1ファイル90秒ほど掛かっています。
この読み込み速度を速くする方法がないものでしょうか。
テキストデータの内容:約20,000,000行×8変数のカンマ区切り時系列データ
読み取りに使用している関数:readtimetable
(datastore/readやtextscanを使っての分割読み込みはかえって遅くなる結果となりました。)
他のプログラム言語ですと、マルチスレッドで処理することで速くなるケースがあるようです。
matlabでもParallel Computing ToolBoxを使うと速くできたりするものでしょうか。

답변 (1개)

Hiroyuki Hishida
Hiroyuki Hishida 2020년 10월 14일
편집: Hiroyuki Hishida 2020년 10월 14일
こんにちは、
もし、同じファイルの読みこみでお困りであれば、mat化を試していただくのはいかがでしょうか?
matファイルをつくるために、一度はreadtableする必要ありますが、そのワークスペース変数をmat化しておけば、次回以降はreadtableではなくloadすることになります。
https://jp.mathworks.com/help/matlab/ref/save.html
いかがでしょうか?
菱田
  댓글 수: 2
Takao
Takao 2020년 10월 15일
菱田様
ご回答ありがとうございます。
mat化を試してみました。恐ろしく読み込みが速くなりました。
csvファイルの読み込み ⇒ 約90秒
matファイルの読み込み ⇒ 約7秒
(tic/tocで計測)
matファイルを作るのに時間は掛かりますが、その作業はプログラムで自動化しようと思います。
解決しそうです。ありがとうございました。
Hiroyuki Hishida
Hiroyuki Hishida 2020년 10월 15일
편집: Hiroyuki Hishida 2020년 10월 15일
よかったです。 matファイルの設定もあわせてご確認いただければと思います。
https://jp.mathworks.com/help/matlab/import_export/mat-file-versions.html
今後ともよろしくお願いします。
菱田

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 ワークスペース変数と MAT ファイル에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!