MATLAB Answers

i want to read a csv file and store as rows and columns of a cell

1 view (last 30 days)
Sajid Afaque
Sajid Afaque on 16 Jun 2020
Commented: Sajid Afaque on 16 Jun 2020
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)

Accepted Answer

Stephan
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

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2013b

Community Treasure Hunt

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

Start Hunting!