怎样用matlab读取csv文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用matlab读取csv文件相关的知识,希望对你有一定的参考价值。

CSVREAD

第一种:M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M,

这时要求整个csv文件内容全部为用逗号隔开的数字,不能用其他字符。

第二种:M = CSVREAD('FILENAME',R,C) ,读取csv文件中从第R-1行,第C-1列

的数据开始的数据,这对带有头文件说明的csv文件(如示波器等采集的文件)的

读取是很重要的。

第三种:M = CSVREAD('FILENAME',R,C,RNG),其中 RNG = [R1 C1 R2 C2],读取

左上角为索引为(R1,C1) ,右下角索引为(R2,C2)的矩阵中的数据。

附注:

一:对于空置的单元,CSVREAD对数据自动置零。

二:根据MATLAB R2010a的帮助,CSVREAD在未来版本中将会被取

代 ( CSVREAD will be removed in a future release. )。

csv就是文本
参考技术A TEK示波器读取的波形图数据存为.csv,虽然用Excel可以直接打开,但是在Matlab里面读取的时候,
csvread和xlsread用法还是有些不同的
%Get data from a specified region in a sheet other than the
first sheet:
Numeric=xlsread(‘c:\matlab\work\myspreadsheet’,’sheet2’,’a2:j5’);
M=CSVREAD(‘FILENAME’,R,C) reads data from the comma separated
value formatted file starting at row R and column C. R and C are
zero based so that R=0 and C=0 specifies the first value in the
file.(如果数据行从15行开始,则R=14;从第一列开始则C=0)
M=CSVREAD(‘FILENAME’,R,C,RNG) reads only the range specified by
RND=[R1 C1 R2 C2] where (R1,C1)is the upper-left corner of the data
to be read and (R2,C2) is the lower-right corner. RNG can also be
specified using spreadsheet notation as in
RNG=’A1..B7’;想要确定添加个范围,比如A15:B10014,则RND=[14 0 10013 1]
因为从示波器出来的图需要一些额外的数据处理才行,所以要进行一些运算;这些在得到了返回的M后就是一个数组,直接用就OK比如%找到第2列里面的最大值or最小值
X=max(M(:,2)) or X=max(M(:,2))
%返回最大值所在列的编号
Num=find(M(:,2)==max(M(:,2)))
%得到对应行第1列的值
Y=M(find(M(:,2)==max(M(:,2))),1)
M(:,1)=M(:,1)*1E+08*12.5;
%min=min(M(:,2));
%max=max(M(:,2));
M(:,2)=(M(:,2)-min(M(:,2)))/(max(M(:,2))-min(M(:,2)));
M(:,1)=M(:,1)-M(find(M(:,2)==max(M(:,2))),1);
这样数据就处理完了,然后就是本回答被提问者采纳

matlab导入CSV文件

如何将CSV格式文件里的数据导入到matlab程序中?就是用matlab直接调用CSV里的数据~~~求具体语句~~~
尝试了import data,比如我插入的文档是DOW.txt,尝试了之后就会提示我
Error in ==> importfile at 9
newData1 = importdata(DOW.txt);

??? Undefined variable "DOW" or class "DOW.txt".

要在哪个地方定义dow呢?

这是matlab插入之后自动产生的:
function importfile(fileToRead1)
%IMPORTFILE(FILETOREAD1)
% Imports data from the specified file
% FILETOREAD1: file to read

% Auto-generated by MATLAB on 16-Apr-2008 17:59:56

% Import the file
newData1 = importdata(DOW.txt);

% Create new variables in the base workspace from those fields.
vars = fieldnames(newData1);
for i = 1:length(vars)
assignin('base', varsi, newData1.(varsi));
end

请问我要如何定义参数?

先说一下字符串,字符串在matlab中需要加单引号,你直接使用newData1 = importdata(DOW.txt);
matlab便会将DOW.txt看成是变量,但是importdata需要一个包含文件名的字符串变量,但是DOW.txt不知道是什么东西,所以会出现??? Undefined variable "DOW" or class "DOW.txt".

正确的使用方法是:
newData1 = importdata('DOW.txt');
或者
path='DOW.txt'
newData1 = importdata(path);

不过importdata不支持后缀名为txt文件,其支持的文件后缀有:
Data formats Command Returns
MAT - MATLAB workspace load Variables in file.
CSV - Comma separated numbers csvread Double array.
DAT - Formatted text importdata Double array.
DLM - Delimited text dlmread Double array.
TAB - Tab separated text dlmread Double array.

Spreadsheet formats
XLS - Excel worksheet xlsread Double array and cell array.
WK1 - Lotus 123 worksheet wk1read Double array and cell array.

Scientific data formats
CDF - Common Data Format cdfread Cell array of CDF records
FITS - Flexible Image Transport System fitsread Primary or extension table data
HDF - Hierarchical Data Format hdfread HDF or HDF-EOS data set

Movie formats
AVI - Movie aviread MATLAB movie.

Image formats
TIFF - TIFF image imread Truecolor, grayscale or indexed image(s).
PNG - PNG image imread Truecolor, grayscale or indexed image.
HDF - HDF image imread Truecolor or indexed image(s).
BMP - BMP image imread Truecolor or indexed image.
JPEG - JPEG image imread Truecolor or grayscale image.
GIF - GIF image imread Indexed image.
PCX - PCX image imread Indexed image.
XWD - XWD image imread Indexed image.
CUR - Cursor image imread Indexed image.
ICO - Icon image imread Indexed image.
RAS - Sun raster image imread Truecolor or indexed.
PBM - PBM image imread Grayscale image.
PGM - PGM image imread Grayscale image.
PPM - PPM image imread Truecolor image.

Audio formats
AU - NeXT/Sun sound auread Sound data and sample rate.
SND - NeXT/Sun sound auread Sound data and sample rate.
WAV - Microsoft Wave sound wavread Sound data and sample rate.

参考资料:matlab帮助文档

参考技术A 菜单里Files -> Import data...

你的csv文件是怎样的?csv文件里应该只有数据,没有其他任何东西。

以上是关于怎样用matlab读取csv文件的主要内容,如果未能解决你的问题,请参考以下文章

用matlab读取一个csv表格文件并输出函数图像

matlab导入CSV文件

用 matlab 读取巨大的 .csv 文件 - 文件组织得不好

用Matlab读取.csv文件+ JSON

用逗号读取大的 .csv 文件 MATLAB [重复]

macmatlab导入大型csv