2015-01-20 2 views
3

У меня есть .csv файл со следующей конфигурацией «»Импорт .csv данных в матрицу

'string', 'string', 'string', 'string', 'string' 
'string', 'string', 21, 89, 67 
'string', 'string', 45, 12, -16 
'string', 'string', 78, 56, 45 
'string', 'string', 23, 65, 90 
'string', 'string', 43, 34, 75 

Я хотел бы, чтобы игнорировать первые два столбца и первой строки, а затем импортировать числа в матрице.

Я пробовал использовать textscan, но не повезло. Любые эксперты? :-)

ответ

3

Использование importdata:

x = importdata('filename.csv'); 

Это дает x-структуру с data и textdata полей:

>> x 
x = 
     data: [5x3 double] 
    textdata: {6x5 cell} 

Чтобы получить только числовые значения, используйте

x_numeric = x.data; 

В вашем примере это дает

x_numeric = 
    21 89 67 
    45 12 -16 
    78 56 45 
    23 65 90 
    43 34 75 
+0

Спасибо, это сработало отлично! :-) –

4

Пробег: dlmread. Вы можете указать строку и столбец, чтобы начать импорт.

data = dlmread('test.txt',',',1,2) 

data = 

    21 89 67 
    45 12 -16 
    78 56 45 
    23 65 90 
    43 34 75 
+0

Это выглядит проще, чем с 'importdata' –

+0

Спасибо. Однако ваш может быть более гибким. – Nemesis

Смежные вопросы