string形式のファイル名の作成
10 ビュー (過去 30 日間)
古いコメントを表示
csv形式のファイルからデータをインポートして、処理した上でcsvファイルと同じファイル名のxlsxファイルの作成を考えております。
file = "C:\asdf.csv";
[filepath,name,ext] = fileparts(file)
としてcsvのファイル名をstring形式で取り込み
処理したデータTを
writetable(T,name.xlsx)
とすればできるのではないか考えたのですができませんでした。
良い方法があれば教えていただけないでしょうか?
4 件のコメント
Atsushi Ueno
2022 年 7 月 3 日
そういう事でしたか。それならこれでファイル名の拡張子だけ変更して保存する事が出来ます
file = "C:\asdf.csv";
[filepath,name,ext] = fileparts(file)
writetable(T,[filepath,name,'.xlsx']);
採用された回答
Hernia Baby
2022 年 7 月 4 日
エラー: writetable (line 152)
FILENAME は空でない文字ベクトルまたは string スカラーでなければなりません。
---------------------------------------------------
file = "C:\asdf.csv";
[filepath,name,ext] = fileparts(file)
以下がcatでの連結です
[filepath,name,'.xlsx']
以下がappendでの連結です
filepath + name + '.xlsx'
2 件のコメント
Atsushi Ueno
2022 年 7 月 4 日
system('cat /proc/version');
厳密に言うとCドライブが無い事が原因ではなく、Linuxプラットフォームではfileparts関数がファイルパスの区切り文字としてスラッシュ(/)しか受け付けない事が原因ですね。Windowsプラットフォームではスラッシュ(/)もバックスラッシュ(\)も使えるので、fileparts関数は両方とも使えると勘違いしていました。
% On Microsoft Windows systems, you can use either forward (/) or back (\) slashes
% as path delimiters, even within the same path. On Unix and Macintosh systems, use
% only / as a delimiter.
その他の回答 (2 件)
参考
カテゴリ
Help Center および File Exchange で Text Data Preparation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!