How to import data from a csv that contains strings numbers and blank cells

1 view (last 30 days)
I have a csv that contains a single column with a lot of data in it. The data is a variety of strings, numbers and blanks, where I want to keep it in the exact order including all of the blank cells. So an example of the data would be:
A
05
G
12
I have tried to use importdata and this works perfectly, the problem is my csv has over 1 million rows and for some reason using importdata only imports to just over the first 100k rows.
Any help would be appreciated!
  5 Comments
R2
R2 on 16 Apr 2015
csvread does not work as it only accepts numerical values, as I have text in the column as well as numbers I get an error message.

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 16 Apr 2015
I would experiment with textscan.
Example:
fidi = fopen('filename.csv');
D = textscan(fidi, '%s', 'Delimiter',',');
fclose(fidi);
This should read everything in as a cell array of strings. (I don’t have your file, so this is just a guess on my part. I will leave it to you to experiment.) You may need other arguments in the textscan call (such as 'EndOfLine'), but it may work as described here without any changes.

More Answers (1)

Roberto Herrera-Lara
Roberto Herrera-Lara on 14 Apr 2015
100k rows, and if you do the same process several times(10 times) and then you concatenate the matrixs, i dont know, perhaps works!! =) Divide and conquer algorithm

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!