Hi!
I have a folder containing many excel files ( more than 200) in csv format . I need to write all these files in xls format.
Can this be done in matlab . Can anyone please help.
Thanks in advance

 채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 10월 25일
편집: Azzi Abdelmalek 2013년 10월 25일

0 개 추천

yourfolder='E:\matlab'
d=dir([yourfolder '\*.csv']);
files={d.name};
for k=1:numel(files)
old_name=files{k};
[~,~,b] = xlsread(old_name) ;
new_name=strrep(old_name,'csv','xls')
xlswrite(new_name,b);
end

댓글 수: 7

avantika
avantika 2013년 10월 25일
Hi!
Thanks
But is there a way to save these xls files to new folder?
Azzi Abdelmalek
Azzi Abdelmalek 2013년 10월 25일
편집: Azzi Abdelmalek 2013년 10월 25일
yourfolder='E:\matlab'
d=dir([yourfolder '\*.csv']);
files={d.name};
for k=1:numel(files)
old_name=files{k};
[~,~,b] = xlsread(old_name) ;
new_name=strrep(old_name,'csv','xls')
new_folder='E:\another'
new_file=fullfile(new_folder,new_name)
xlswrite(new_file,b);
end
avantika
avantika 2013년 10월 28일
thanks a lot!
Image Analyst
Image Analyst 2013년 11월 2일
Avantika, you forgot to accept it, so I did it for you.
Robert Jones
Robert Jones 2013년 11월 12일
great info. Q: how to merge the *.csv files as sheets of ONE excel file?
More correct would be
yourfolder = 'E:\matlab'
d = dir(fullfile(yourfolder, '*.csv'));
files = {d.name};
for k=1:numel(files)
old_name = files{k};
[~,~,b] = xlsread( fullfile(yourfolder, old_name)) ;
new_name = strrep(old_name,'csv','xls')
new_folder = 'E:\another'
new_file = fullfile(new_folder, new_name)
xlswrite(new_file,b);
end
Onur ALPAY
Onur ALPAY 2020년 12월 8일
Hi,
I am using MATLAB 2019a version and it looks there is no problem with version. I try this code but I realized that the below code doesn't work. It gives me the same file name. Do you have any experiance about that?
new_name = strrep(old_name,'csv','xls')

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

추가 답변 (2개)

Fabian Neira
Fabian Neira 2018년 6월 1일

0 개 추천

I got the following error "File name must be a character vector" when using the code.
Lotan Jackson
Lotan Jackson 2020년 8월 25일

0 개 추천

Hi everyone, I know this is an old question but I had to adjust things for either the newest version or being on a newest matlab version. Here's the code. I placed all the files in the folder with the script.
file = dir('*.csv');
s= size(file,1);
for i= 1:s
Data = readtable(file(i).name);
filename=file(i).name;
filename= filename(1:end-5);
writetable(Data,[filename '.xls']);
end;
Hope this helps anyone in the future. :)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2013년 10월 25일

댓글:

2021년 4월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by