Converting .xls and .xlsx to .csv
    54 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
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 commentaires
Réponse acceptée
  Image Analyst
      
      
 le 7 Déc 2014
        
      Modifié(e) : Image Analyst
      
      
 le 7 Déc 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 commentaires
  Vikas Saroha
 le 22 Juil 2020
				But it writes only numbers not including row and colomn headers. How these can be included in the .csv file?
Plus de réponses (2)
  Harish TV
 le 17 Mar 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 commentaires
  sapna kumar
 le 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 commentaires
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





