필터 지우기
필터 지우기

Setting name of variable equal to name of imported file

조회 수: 1 (최근 30일)
John
John 2011년 12월 19일
Hi,
I'm importing data into Matlab from excel via the following command:
cycle=xlsread('E:\DC.xlsx','Sheet1');
How can I set the name of the metadata to be the same as the name of the imported excel file.For example:
sch_metadata.name = 'DC';
It will be looping through files in a folder so I wont know the name in advance
Many thanks

답변 (2개)

Robert Cumming
Robert Cumming 2011년 12월 19일
if you must do it then use dynamic fieldnames
metadata.(sch_metadata.name) = cycle
  댓글 수: 3
Robert Cumming
Robert Cumming 2011년 12월 19일
same theory. TO get the filename use:
[fullpath, filename, ext] = fileparts ( 'E:\DC.xlsx' );
Then: sch_metadata.net = filename;
John
John 2011년 12월 19일
Thanks very much

댓글을 달려면 로그인하십시오.


Matt Tearle
Matt Tearle 2011년 12월 19일
If you're going to be looping on the files, you're probably doing something like
x = cellstr(ls('*.xlsx'));
for k = 1:length(x)
% do stuff
end
In the "do stuff" bit, you should use fileparts to pull apart each filename string:
[~,fn] = fileparts(x{k});
sch_metadata.net = fn;
save(fn);
% or save([fn,'.mat']) if you want to be explicit

카테고리

Help CenterFile Exchange에서 Spreadsheets에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by