Convert CSV to excel file, or read
5 次查看(过去 30 天)
显示 更早的评论
Hi there
Can anybody tell me how convert csv files to excel files with MAtlab. I´ve benn trying read them to ussing csvread, also dlmread, but appear an error: Mismatch between file and format string. If can anybody help me I appreciate
0 个评论
回答(3 个)
Walter Roberson
2011-3-31
Does it give you a partial result? If so then look in the file at the lines right near where it ends and see if you can see anything unusual.
If you show the format of a sample line, then someone could probably help you figure out a format string to use with textread()
Harish TV
2017-3-17
编辑:Walter Roberson
2017-3-17
Easy method
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---------------------']);
1 个评论
Walter Roberson
2017-3-17
Oddly, csv files are not always readable by xlsread. I ran into one just a couple of days ago.
In the time frame that the question was asked, the problem was likely a csv file that contained text. csvread() back then could not handle text at all, not even in header lines; in more modern versions, csvread() can be instructed to skip a fixed number of lines (even if they have text), and can be instructed to skip a fixed number of fields per line (even if they have text); however, csvread() still (in current versions) cannot deal with trailing fields that contain text, even if you do not want to read them.
Unfortunately when the original poster failed to give a few sample lines of the file, we dropped the question.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!