Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB:如何从csv文件中提取特定列?_Matlab_Csv - Fatal编程技术网

MATLAB:如何从csv文件中提取特定列?

MATLAB:如何从csv文件中提取特定列?,matlab,csv,Matlab,Csv,我必须从给定的csv文件中提取第1列、第2列和第4列,并将其写入新文件。新文件在新文件的第1、2、3列中包含原始文件的第1、2和第4列,这一点很重要 我知道第一步是提取数组中所需的值: CSVOutput = csvread(‘NumericData.csv’, startx, starty, [startx, starty, endx, endy]) 然后我可以使用csvwrite将这是一个新文件 但问题是我不知道endx,endy。我只能手动检查 那么还有更优雅的方式吗 您可以使用

我必须从给定的csv文件中提取第1列、第2列和第4列,并将其写入新文件。新文件在新文件的第1、2、3列中包含原始文件的第1、2和第4列,这一点很重要

我知道第一步是提取数组中所需的值:

CSVOutput = csvread(‘NumericData.csv’, startx, starty, [startx, starty, endx, endy])   
然后我可以使用
csvwrite
将这是一个新文件

但问题是我不知道
endx,endy
。我只能手动检查

那么还有更优雅的方式吗

您可以使用

t = readtable(file.csv);
正如德维尔所建议的那样。返回的对象是一个结构,其中每个字段都以表的一列命名。与

fieldnames(t);
得到一个包含列名称的单元格数组

您可以按如下方式访问列:

t.('columnName')

您使用的是哪个版本的MATLAB?也许您可以使用而不是
csvread
。另外,
csvread
中的最后一个输入是可选的,我只需忽略它并删除导入数据的第一行,以获得与指定
startx
starty
@Dev iL my version r2014a相同的效果