MATLAB Answers

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

2 views (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

Show 2 older comments
Sajid Afaque
Sajid Afaque on 16 Jun 2020
no actually i keep appending data.
i tried using readtable to know how many columns i have in first row but problem what i faced their was(i have one extra column at last filled by NaN and what i also fear is how will it behave if any of the row contains empty column)

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!