I'm using textscan to read in a csv file, but when I check the variable its incorrect
3 views (last 30 days)
Show older comments
Tariq Hammoudeh
on 2 Dec 2021
Edited: Image Analyst
on 3 Dec 2021
im trying to read in a csv file(attached) using the code below, but then when i click on the variable from the workspace I dont get the correct cell array (i attached a screenshot of what appears when i select the variable from the workspace). I got this code from the internet and im doing it in the same way, but it still doesnt work.
fid = fopen('NaiveBankData.csv');
readNaiveBankData= textscan(fid, '%d %f', 'HeaderLines',1, 'Delimiter', ',');
0 Comments
Accepted Answer
Image Analyst
on 2 Dec 2021
Can you try importdata(), readmatrix(), or csvread() instead?
5 Comments
Image Analyst
on 2 Dec 2021
Well it looks like you got it figured out with Star's code. That's good because there was no way I was going to try to guess what was in 'NaiveBankData.csv', which you refused to upload.
More Answers (1)
Image Analyst
on 3 Dec 2021
Edited: Image Analyst
on 3 Dec 2021
Try this:
t = readtable('NaiveBankData.csv')
[rows, columns] = size(t);
% Convert Balance column to double
balances = zeros(rows, 1);
for row = 1 : rows
thisString = t.Balance{row};
% Get rid of commas and pound symbol.
thisString = strrep(thisString(2:end), ',', '');
balances(row) = str2num(thisString);
end
tB = table(balances(:), 'VariableNames',{'dblBalance'});
t = [t, tB]
You'll see
t =
5×3 table
AccountNumber Balance dblBalance
_____________ _____________ __________
105 {'£6,327.15'} 6327.15
234 {'£203.54' } 203.54
576 {'£52.45' } 52.45
594 {'£5,489.00'} 5489
876 {'£1,245.80'} 1245.8
0 Comments
See Also
Categories
Find more on Data Import and Export 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!