How to read complex number from a *.csv file?

24 views (last 30 days)
Ngoc
Ngoc on 5 Dec 2013
Commented: sixwwwwww on 5 Dec 2013
Hi,
I have to import a data set from a csv file but I cannot find any way to import the complex number from the file to Matlab to do the data processing. I try to search on the internet but no solutions are helpful. I tried importdata, csvread, textread,... but they didn't work. Can anyone show me how to solve this problem? I attached part of my csv file below. I really need help. Thanks

Answers (2)

sixwwwwww
sixwwwwww on 5 Dec 2013
you can do it as follows:
[num, str, raw] = xlsread('filename.csv');
a = str2num(cell2mat(raw));
  5 Comments
Ngoc
Ngoc on 5 Dec 2013
Here it is. This is only a small part that I cut from the file, which is too large to upload here.
sixwwwwww
sixwwwwww on 5 Dec 2013
Use the following code on your data. It will work fine. I checked it for your sample data:
[num, str, raw] = xlsread('filename.csv');
rawval = double(cellfun(@(x) ~isnumeric(x), raw));
a = zeros(size(raw));
b = a;
a(rawval == 0) = cell2mat(raw(rawval == 0));
b(rawval == 1) = str2double(raw(rawval == 1));
Matrix = a + b;
I hope it helps. Good luck!

Sign in to comment.


G A
G A on 5 Dec 2013
https://www.mathworks.co.uk/matlabcentral/newsreader/view_thread/239213

Categories

Find more on Large Files and Big Data 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!