Importing CSV - Selecting Specific Variables or Ignoring Variables

15 次查看(过去 30 天)
I have the code below to import a CSV file as part of an app I'm building. Initially, I would manually modify some of the CSV files before importing.
The CSV files have data that are pairs of variables (datetime and YVar). I only need one datetime column and want to omit the rest. How would I be able to omit the alternate columns or only accept one datetime column?
Secondly, where I import the Y variables from attach "ValueY" to the variable name. Is there a way I can get Matlab to remove this?
Also, below this section of code, I use the variable names in drop down lists for the user to select for plotting in the app.
I'm using matlab version 2020b.
Thanks!
[file] = uigetfile('*.csv');
if isequal(file,0)
msgbox('Please input a CSV file')
else
isequal(file, 1)
%Read data from file
opts = detectImportOptions([file], "NumHeaderLines", 24, "VariableNamesLine", 1, "VariableNamingRule","preserve");
opts.Delimiter = ",";
opts.ExtraColumnsRule = "ignore";
opts.EmptyLineRule = "read";
opts = setvaropts(opts, [1 1], "InputFormat", "dd/MM/yyyy HH:mm");
app.SD = readtable([file], opts);

采纳的回答

Nitin Kapgate
Nitin Kapgate 2021-2-8
You can refer to the following code snippet to resolve your problem:
% read an inbuilt spreadsheet
opts = detectImportOptions('airlinesmall_subset.xlsx');
preview('airlinesmall_subset.xlsx',opts)
opts.Sheet = '2007';
% define the variable indices which you want to read
% 2:2:10 ensures that we read alternate columns from the sheet
% Modify the indices as per your requirement
varIndex = [1, 2:2:10]
opts.SelectedVariableNames = varIndex
% Observe selected variables
opts.SelectedVariableNames
opts.DataRange = '2:11';
M = readmatrix('airlinesmall_subset.xlsx',opts)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Import and Analysis 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by