Read first column from the text file

23 vues (au cours des 30 derniers jours)
Vincy Y
Vincy Y le 6 Fév 2019
Commenté : Asko Köhn le 8 Mar 2021
I have a text file that contains eighty rows with six columns of data values. All I want to do is read a first column of values only. How do I read the column ?
  1 commentaire
Nuwan Liyanage
Nuwan Liyanage le 30 Mar 2020
% Assigning the path
path = 'C:\Users\User\abc\'; %abc is your folder which contains the txt file
% Assigning a variable to access the file
fileName = [path,'xyz.txt'];
% Importing all the data from the txt file
fileEntireDataSet = importdata(FileName);
% Assigning the first column only
dataFirstColumn = fileEntireDataSet.data(:,1);

Connectez-vous pour commenter.

Réponse acceptée

madhan ravi
madhan ravi le 6 Fév 2019
fid = fopen('sample.txt')
% ^^^^^^^^^^----- your filename
formatspec=['%f',repmat('%*f',1,5)]; % 5 represents total columns - the first column
data = textscan(fid,formatspec);
fid = fclose(fid);
data{:} % first column
  3 commentaires
Vincy Y
Vincy Y le 6 Fév 2019
Yes, it is work, thanks to you,
Asko Köhn
Asko Köhn le 8 Mar 2021
All format specifiers for textscan() are also supported in readtable(), so the suggested solution by textscan(fileID,...) could also less verbosely be implemented with readtable():
col_1 = readtable('sample.txt', 'Format','%f %*f %*f %*f %*f %*f');
Or for a known header of the first column e.g. 'header_1':
opts = detectImportOptions('sample.txt');
opts.SelectedVariableNames = {'header_1'};
col_1 = readtable('sample.txt', opts);
which can be really useful for extraction of a few columns from files containing a greater number of columns.

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by