Matlab:如何读取CSV文件以及如何读取带有字符串数据项的CSV文件
扫描二维码
随时随地手机看文章
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. :)