I'm using textscan to read in a csv file, but when I check the variable its incorrect

2 次查看(过去 30 天)
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', ',');

采纳的回答

Image Analyst
Image Analyst 2021-12-2
Can you try importdata(), readmatrix(), or csvread() instead?
  5 个评论
Image Analyst
Image Analyst 2021-12-2
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.
Tariq Hammoudeh
Tariq Hammoudeh 2021-12-2
im sorry about that i didnt realize the screenshot didnt show the entire thing.
I uploaded the csv file, can i please get help with the other part, because i cant fugure out how to make "ismember" work

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2021-12-3
编辑:Image Analyst 2021-12-3
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

标签

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by