Clear Filters
Clear Filters

Pulling Columns by Name in CSV Files

52 views (last 30 days)
Samantha
Samantha on 24 Jun 2024 at 14:39
Commented: Samantha on 24 Jun 2024 at 19:46
Hello! I am having trouble with pulling specific data. I am trying to read a .csv file and grab specific columns by name, not by the column number/position. The data I a looking to grab doesnt't always end up in the same column.
CurrentData = readtable('data.csv','ReadVariableNames',1);
TimeData = CurrentData(:, 1); % Column A data ( time in seconds )
I have time data as a specific column since it is always in the first column. Here is some code I've tried from other threads but I now have an issue with the size -
[data, text] = readtable('5DV20WLRCJ010__671_edited.csv');
Throttle = strcmpi(text(1,:),'d ThrottleAct');
A = data(:,Throttle);
'd ThrottleAct' is the column I am trying to pull, but the data too large when I try this method - that and I don't fully understand it, haha. The data I am using is a 2567x468 table, and sometimes there are more or less variables.
Here is the error I get:
Error using readtable
Too many output arguments.
Error in project_testing (line 22)
[data, text] = readtable('data.csv');
I think it is having trouble with the read table, but I'm not sure of a better way to read the data and column headers as well as keeping it in this format.
Thanks for the help in advance

Accepted Answer

Cris LaPierre
Cris LaPierre on 24 Jun 2024 at 15:10
Edited: Cris LaPierre on 24 Jun 2024 at 15:11
See this page: Access Data in Tables
Also, consider using readtimetable instead of a readtable.
CurrentData = readtimetable('data.csv','ReadVariableNames',1);
TimeData = CurrentData(:, 1); % Column A data ( time in seconds )
Throttle = currentData.("d ThrottleAct")
  3 Comments
Cris LaPierre
Cris LaPierre on 24 Jun 2024 at 19:19
Timetables have some additional methods that can be helpful when working wiht time-series data. Basically, it recognizes that the data is tied to specific time points, and allows you to leverage that when combining or resampling your data.
If you don't need to do that, then just useing readtable is fine.
Samantha
Samantha on 24 Jun 2024 at 19:46
I think I'll use the readtimetable function then, thank you for explaining it! It sounds like it'll come in handy

Sign in to comment.

More Answers (0)

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!