MATLAB Answers

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

6 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