Convert multiple csv to xls files.

5 次查看(过去 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

采纳的回答

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')
xlswrite(new_name,b);
end
  7 个评论
Walter Roberson
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
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
I got the following error "File name must be a character vector" when using the code.

Lotan Jackson
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 CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by