フィルターのクリア

Converting .xls and .xlsx to .csv

109 ビュー (過去 30 日間)
mike
mike 2014 年 12 月 7 日
コメント済み: Image Analyst 2020 年 7 月 22 日
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!

採用された回答

Image Analyst
Image Analyst 2014 年 12 月 7 日
編集済み: Image Analyst 2014 年 12 月 7 日
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 件のコメント
Vikas Saroha
Vikas Saroha 2020 年 7 月 22 日
But it writes only numbers not including row and colomn headers. How these can be included in the .csv file?
Image Analyst
Image Analyst 2020 年 7 月 22 日
You can use fprintf() to write it out exactly as you want.

サインインしてコメントする。

その他の回答 (2 件)

Harish TV
Harish TV 2017 年 3 月 17 日
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---------------------']);

sapna kumar
sapna kumar 2019 年 1 月 11 日
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

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by