I'm using textscan to read in a csv file, but when I check the variable its incorrect
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Tariq Hammoudeh
le 2 Déc 2021
Modifié(e) : Image Analyst
le 3 Déc 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 commentaires
Réponse acceptée
Image Analyst
le 2 Déc 2021
Can you try importdata(), readmatrix(), or csvread() instead?
5 commentaires
Image Analyst
le 2 Déc 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.
Plus de réponses (1)
Image Analyst
le 3 Déc 2021
Modifié(e) : Image Analyst
le 3 Déc 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 commentaires
Voir également
Catégories
En savoir plus sur Text Files dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!