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

68 ビュー (過去 30 日間)
neshin
neshin 2018 年 10 月 19 日
回答済み: neshin 2018 年 10 月 21 日
ファイルサイズが、行2000000 列10のファイルを読み込みたいです。 データインポートでは時間がかかってしまいます。 また、datastoreだと行数が多きいためエラーになってしまいます。
このファイルを読み込む方法を教えてください。

採用された回答

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

サインインしてコメントする。

その他の回答 (1 件)

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

タグ

Community Treasure Hunt

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

Start Hunting!