Convert multiple csv to xls files.
조회 수: 19 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
채택된 답변
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')
xlswrite(new_name,b);
end
댓글 수: 7
Walter Roberson
2018년 6월 1일
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
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
2018년 6월 1일
I got the following error "File name must be a character vector" when using the code.
Lotan Jackson
2020년 8월 25일
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. :)
참고 항목
카테고리
Help Center 및 File Exchange에서 Spreadsheets에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!