2016-10-20 150 views
1

我必須從給定的csv文件中提取1,2和4列並將其寫入新文件。在新文件的第1,2,3列中,新文件包含原始文件的1,2和4列是很重要的。MATLAB:如何從csv文件中提取特定的列?

我知道第一步將是在一個數組中提取所需的值:

CSVOutput = csvread(‘NumericData.csv’, startx, starty, [startx, starty, endx, endy]) 

然後我可以使用csvwrite把這是一個新的文件。但是問題是我不知道endx, endy。我只能手動檢查它。

那麼有沒有更優雅的方式?

+0

MATLAB哪個版本是您使用:

如下您可以訪問一個列?也許你可以使用['readtable'](https://www.mathworks.com/help/matlab/ref/readtable.html「Create table from file」)而不是'csvread'。另外,'csvread'中的最後一個輸入是可選的,我只是忽略它並刪除導入數據的第一行,以獲得與指定'startx','starty'相同的效果。 –

+0

@ Dev-iL我的版本r2014a – gpuguy

回答

0

您可以使用

t = readtable(file.csv); 

爲開發金正日建議。返回的對象是一個結構體,其中每個字段以表格的列名稱命名。 With

fieldnames(t); 

您將得到一個包含colums名稱的單元格數組。

t.('columnName') 
相關問題