Excelからのデータの読み込みと書き出しの速度を速くするにはどうしたらいいですか?
古いコメントを表示
ある計測器の出力データがExcelで出力されます. 1フレーム35×35の数値データで1シートに100フレームのデータが入っており,それが8シートぐらいあります.(ファイルごとにシートの枚数は異なります) ここから繰り返し処理を使って1フレームずつのcsv形式のデータに出力しているのですが,1つのファイルを処理するのに何時間もかかってしまいます.コードは以下のような形で書いていますが処理を速くする方法があったら教えてください.
%切り抜き範囲の設定
xlrange=strcat(start_col,num2str(start_row),':',end_col,num2str(end_row));
%切り抜き
mat=xlsread(inputfilename,sheet,xlrange);
%csvで書き出し
dlmwrite(outputfilename,mat);
採用された回答
その他の回答 (1 件)
mizuki
2017 年 7 月 6 日
3 投票
Excelファイルのすべての列ではなく特定列だけであれば、 datastoreや並列計算を組み合わせたらさらに高速化できる可能性があります。
ただし、Michioさんのご提案された基本的な内容をお試しされた後にご検討ください。
カテゴリ
ヘルプ センター および File Exchange で スプレッドシート についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!