您的位置:首页 > 编程语言 > MATLAB

Matlab:如何读取CSV文件以及如何读取带有字符串数据项的CSV文件

2013-11-15 09:44 471 查看
CSV,逗号分开的文件,如果能快速的读取这些文件中的数据,无疑会帮助我们解决很多问题。

1、 只有数据的CSV文件,CSV file that includes only numbers.

As an example, create a text file, named as 'data.csv' if you prefer, which includes the following data with any editor you like.

1,  2,  3,  4
5,  6,  7,  8
9,  0,  1,  2


1) Read all the data into a 3X4 matrix.

Mat = csvread('data.csv');
disp(Mat);


2) Read part of the data with specification of the start index. What is important is the data is accessed from index 0 in the direction of row and column.

Mat = csvread('data.csv', 1, 2);
disp(Mat);


Result showing below.

7     8
1     2


3) Read only the specified range.

Mat = csvread('data.csv', 0, 1, [0,1,2,2]);
disp(Mat);


Note the starting index you specified in the second and third parameters is the same with the first two arguments in the fourth parameter matrix.

2、 How to read a CSV file containing string data items.

Create a file, named as 'datastr.csv' if you like. Add the following data.

1, 2, 3, Mine
4, 5, 6, Yours
7, 8, 9, His


One who try to use csvread shall encounter frustration. :(

I propose another solution to solve this case.

fid = fopen('datastr.csv');
dcells = textscan(fid, '%f, %f, %f, %s');
fclose(fid);
dcellneeds = dcells(1:3);
Mat = cell2mat(dcellneeds);
disp(Mat);


The result showing below.

1     2     3
4     5     6
7     8     9


Try it and good luck. :)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: