最新のフォルダパスに存在する複数のcsvファイルの読み取り方法について
조회 수: 4 (최근 30일)
이전 댓글 표시
ご教示願いたいです。
表題の件ですが、サーバーから最新のフォルダパスとフォルダパス内部の特定のファイルが指定された際、特定のファイルを基準とした複数のcsvファイルを読み込み、添付ファイルのB列のみcsvファイルとしてまとめて出力するようなプログラムを作成しようとしているのですが、最新のフォルダパスの反映方法と、特定のcsvファイルから複数ファイルを読み込む方法がうまくできません。
アドバイスをいただきたいです。
フォルダパス内のファイル:a1.csv、a2.csv、a3.csv・・・・a100.csv
特定ファイル:a30.csv
特定ファイルを基準に±20個のcsvファイルを読み込み、B列のみを別のcsvファイルとして出力したいです。
댓글 수: 0
답변 (1개)
Atsushi Ueno
2023년 3월 8일
이동: Atsushi Ueno
2023년 3월 20일
> 最新のフォルダパスの反映方法 (中略) がうまくできません
「サーバーから最新のフォルダパスとフォルダパス内部の特定のファイルが指定される」とは、具体的にどの様な方法で情報が入力されるのですか?自分から入力情報を取りに行かないと、サーバ側で更新された情報をプログラム内に反映する事が出来ません。
> 特定のcsvファイルから複数ファイルを読み込む方法がうまくできません
for文で繰り返せば読み込めます。例えば「特定ファイル:a30.csvを基準に±2個のcsvファイルを読み込む」は、a28.csv, a29.csv, a30.csv, a31.csv, a32.csvの5ファイルを読み込む事と解釈しますが、要件と合っていますか?
% 最新のフォルダパスの反映方法
latest_path = "https://jp.mathworks.com/hoge/fuga/"; % 最新のフォルダパス ← どうやって取りに行けば良い?
latest_file = "a30.csv"; % フォルダパス内部の特定のファイル ← どうやって取りに行けば良い?
% 特定のcsvファイルから複数ファイルを読み込む方法
numID = str2num(regexp(latest_file, "\d+", "match")) % 特定ファイルの数値のみ抽出する
N = 2;% 特定ファイルを基準に±N個のcsvファイルを読み込む(行数削減の為±20個の代わりに±2個とする)
for k = numID-N:numID+N % 特定のファイルを基準とした複数のcsvファイルを読み込む
file_name = regexprep(latest_file,"\d+",num2str(k));
latest_path + file_name % このファイルを読み込めば良い
end
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!