matlab中常用的读取csv的函数为csvread,
其调用格式为:
data = csvread(csv_file, R, C, RNG)
其中csv_file为要读取的csv文件,R为从第R行开始读取,C为从第C列开始读取,RNG为读取的行列范围,比如 RNG = [R1,C1, R2, C2]。值得注意的是,虽然matlab默认的序号一般是从1开始,但是对于R和C的设置却是从0开始的,也即,如果想要从文件中的第一行读取,则R应该设为0。
使用csvread读取csv文件的前提是csv文件为纯数值文件,如果文件中含有字符就会报错。比如无法读取如下带有表头的文件。
可有时,表头的信息对于后续的数据分析是必要或者更方便的,我们就需要将表头信息读取进来,csvread函数就无法满足该需求了。
此时,我们可以使用比较原始的函数importdata,其调用格式为:
headerData = importdata(csv_file)
该函数会返回一个struct类型结果,并会自动将文本与数值分别保存在两个变量中例如上述的表格,其结果为:
其中data中为数值结果,
textdata中为字符结果
此时,我们可通过对字符变量索引来获取表头信息,比如,获取表头中的第5个变量,
可通过命令
headerName = headerdata.textdata{1,5}
得到对应的表头变量,以供后续使用。