Converting .xls and .xlsx to .csv
105 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
mike
am 7 Dez. 2014
Kommentiert: Image Analyst
am 22 Jul. 2020
Hey guys,
I was wondering if there was a way I could ask a user if their file is .csv, and if not, I would sent it through a loop to have it converted to .csv. Is there any way I could do that?
Thanks!
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 7 Dez. 2014
Bearbeitet: Image Analyst
am 7 Dez. 2014
Why not assume the extension is correct and process it if necessary?
[folder, baseFileName, extension] = fileparts(filename);
if strcmpi(extension, '.xlsx')
numbers = xlsread(filename);
csvFileName = strrep(filename, '.xlsx', '.csv');
csvFileName = strrep(csvFileName, '.xls', '.csv');
csvwrite(csvFileName, numbers);
end
5 Kommentare
Vikas Saroha
am 22 Jul. 2020
But it writes only numbers not including row and colomn headers. How these can be included in the .csv file?
Weitere Antworten (2)
Harish TV
am 17 Mär. 2017
clear; clear all; fileip='filename.csv'; g=char(fileip); g=g(1:end-4) fileop=horzcat(g,'.xlsx') g=fileip(1:end-4); [~,~,F]=xlsread(fileip); F=cellstr(F); %delete the header rows (4 rows) F([1:4],:)=[]; for a=1:size(F,1); b=F(a,1); c=char(b); D(a,:)=strsplit(c,','); end xlswrite(fileop,D); disp(['--------------Process complete---------------------']);
0 Kommentare
sapna kumar
am 11 Jan. 2019
file = dir('*.xlsx'); % make sure your are navigated to the right folder on matlab
s= size(file,1);
for i= 1:s
Data = xlsread(file(i).name);
filename=file(i).name;
filename= filename(1:end-5); % to remove extension from filename
csvwrite([filename '.csv'], Data);
end
0 Kommentare
Siehe auch
Kategorien
Mehr zu Spreadsheets finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!