Why is importdata bringing in cell array?
19 次查看(过去 30 天)
显示 更早的评论
I have two different .csv files that I would like to import and create structure arrays.
I'm using this:
A = importdata(filepath, filename);
The first one works and the heading looks like this:

The second one comes in as cell array so I cannot grab A.data:

What is the difference that I'm not seeing?
3 个评论
dpb
2018-11-17
What data, specifically are you wanting and how do you expect MATLAB to know where those data are or how they're organized for any totally arbitrary file excepting by some sort of preprocessing procedure?
detectImportOptions is the TMW-supplied routine to make a stab at that; anything else you do will be some variant of the techniques used therein.
采纳的回答
Mark Sherstan
2018-11-16
You might have better luck going through the file line by line. For example:
f = fopen('test.csv');
lineCount = 1;
tline = fgetl(f);
while ischar(tline)
data{lineCount} = tline;
tline = fgetl(f);
lineCount = lineCount + 1;
end
fclose(f);
This will give you the header information as well but you can cut that out with a string compare assuming you know the header names or when the data becomes a number instead of a string. Just depends on how different all the .csv's might be.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Large Files and Big Data 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
