Read first column from the text file

16 Ansichten (letzte 30 Tage)
Vincy Y
Vincy Y am 6 Feb. 2019
Kommentiert: Asko Köhn am 8 Mär. 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 Kommentar
Nuwan Liyanage
Nuwan Liyanage am 30 Mär. 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);

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

madhan ravi
madhan ravi am 6 Feb. 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 Kommentare
Vincy Y
Vincy Y am 6 Feb. 2019
Yes, it is work, thanks to you,
Asko Köhn
Asko Köhn am 8 Mär. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by