ファイルサイズが大き​いCSVファイルの読​み込みについて

34 views (last 30 days)
neshin
neshin on 19 Oct 2018
Answered: neshin on 21 Oct 2018
ファイルサイズが、行2000000 列10のファイルを読み込みたいです。 データインポートでは時間がかかってしまいます。 また、datastoreだと行数が多きいためエラーになってしまいます。
このファイルを読み込む方法を教えてください。

Accepted Answer

Kazuya
Kazuya on 19 Oct 2018
Edited: Kazuya on 19 Oct 2018
datastore が最適な気がしますが、どんな読み込みをされたときにどんなエラーがでましたか?
200万x10の行列だと、double 型で大体 150MBのサイズになりますが・・これをすべてメモリ上に読み込む必要がありますか?
tall 配列の機能を使うと、一度に全部読み込まずにいろいろ計算できるので、PCのメモリ容量に不安がある場合にお勧めです。その分計算時間は余計にかかるのは難点ですが。 参照: tall 配列
  4 Comments
neshin
neshin on 20 Oct 2018
返信ありがとうございます。 色々調べたのですが、ファーマットが壊れている箇所はありませんでした。 datastoreでは、読み込めるサイズが決まってるのでしょうか?
とりあえず、このコードで読み込めました。
data = readtable(filename, 'delimiter', ',');
data;
何度も、ありがとうございました。
Kazuya
Kazuya on 20 Oct 2018
datastoreで読み込めるサイズが決まっているということはなさそうですが・・。もやもやしますね。。
私の場合は、数値であるべき列に途中で文字列が混ざっていたのが原因で途中で読み込みが止まっていた、、と記憶しています。その場合、readtable で読むと数値で読み込むはずの列が、セル配列になってたりするのでわかりやすいのですけども。

Sign in to comment.

More Answers (1)

neshin
neshin on 21 Oct 2018
解明方法を探して頂いてありがとうございました。 また、知恵をかしていただければと思います。

Community Treasure Hunt

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

Start Hunting!