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

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

I do not get any kind of message or erros and have 8 GB of ram
Have you tried using "csvread" to import the entire column? For some examples, please see:
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

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.

2 Comments

I changed the delimiter to \n to include all of the blank spaces, but otherwise this worked! Thanks for your help!

Sign in to comment.

More Answers (1)

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

Asked:

R2
on 13 Apr 2015

Commented:

on 19 Apr 2015

Community Treasure Hunt

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

Start Hunting!