i want to read a csv file and store as rows and columns of a cell
2 views (last 30 days)
Show older comments
i have a csv file at a particular location. i have attached the csv file.
i want to read the data in the csv file in the below format
and the number of rows and columns are variable.(i.e i do not know how many rows and column may come)
2 Comments
Accepted Answer
Stephan
on 16 Jun 2020
Edited: Stephan
on 16 Jun 2020
fileID = fopen('FOM_HFA_Pavg.csv');
content = textscan(fileID, '%s','Delimiter','\t');
fclose(fileID);
content = content{:};
content = cellfun(@(x)strrep(x,'"',''),content,'UniformOutput',false);
idx = (cellfun('isempty',content));
content(idx) = [];
n = linecount('FOM_HFA_Pavg.csv');
content = reshape(content,[],n)'
% This function was made by Walter and should solve the problem
function n = linecount(filename)
[fid, msg] = fopen(filename);
if fid < 0
error('Failed to open file "%s" because "%s"', filename, msg);
end
n = 0;
while true
t = fgetl(fid);
if ~ischar(t)
break;
else
n = n + 1;
end
end
fclose(fid);
end
5 Comments
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!