Read first column from the text file

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 个评论

% 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);

请先登录,再进行评论。

 采纳的回答

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 个评论

Honestly I would read the full text file :
data=load('sample.txt'); % assuming you only have data values(numbers)
data(:,1) % and jus extract the first column
% or
data=readtable('sample.txt'); % requires 2013a or later
data(:,1) % table with one column which is the first column
data{:,1} % just numbers in the first column
Yes, it is work, thanks to you,
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.

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by