ワークスペースにある​変数をfileの名前​に設定したい

67 views (last 30 days)
周平
周平 on 21 Oct 2022
Edited: Atsushi Ueno on 22 Oct 2022
質問失礼します。
uigetfileの関数を用いて取得したファイル名を、新しく作るファイルの名前に入れたいのですが、どのようにしたら良いのでしょうか。
matlabの経験が浅く初歩的な質問ですが回答していただけると嬉しいです。
[file,path] = uigetfile('*.csv')
% ファイルを選択して、切り抜く場所を選んでP1とおく。
C = readcell(file,'Range','B42:AW734');
%csvとしてフォルダに書き出す
writecell(C,'[「file」の変数の文字をいれたい] ttt.csv']);

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 21 Oct 2022
Edited: Atsushi Ueno on 22 Oct 2022
文字ベクトルの連結は、['文字ベクトル' '文字ベクトル' ...]の形で書けます。
(因みに文字列の結合は、"文字列" + "文字列" + ... の形で書けます。)
uigetfile関数でファイル名を取得した後、fileparts関数でファイル名と拡張子を分割します。
%[file,path] = uigetfile('*.csv')
path = [pwd '/'];
file = 'Book1.csv'; % Book1.csvを選択したものとする
% ファイル名と拡張子を分割する
[~,name,ext] = fileparts(file);
% ファイルを選択して、切り抜く場所を選んでP1とおく。
C = readcell(file,'Range','B42:AW734');
%csvとしてフォルダに書き出す
writecell(C, [path name ' ttt' ext]); % パス名 + ファイル名 + ' ttt' + 拡張子の形になる
ls -la
total 264 drwxr-xr-x 2 mluser worker 4096 Oct 22 04:39 . drwx------ 1 mluser worker 4096 Oct 22 04:39 .. -rw-r--r-- 1 mluser worker 168000 Oct 22 04:39 Book1.csv -rw-r--r-- 1 mluser worker 88965 Oct 22 04:39 'Book1 ttt.csv'
  1 Comment
周平
周平 on 21 Oct 2022
丁寧にありがとうございます。理解できました。

Sign in to comment.

More Answers (0)

Categories

Find more on 環境と設定 in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!