latitude, longitude, wind_speed, zonal_wind_speed, meridional_wind_speed, quality_flag
15.25, 94.75, 314, -267, -81, 0
15.25, 95.25, 427, -333, -186, 0
15.25, 95.75, 452, -290, -290, 0
15.25, 96.25, 459, -211, -389, 0
15.25, 96.75, 471, -91, -453, 0
15.25, 97.25, 519, 1, -511, 0
15.25, 97.75, 32767, 32767, 32767, 2
15.25, 98.25, 32767, 32767, 32767, 2
15.25, 98.75, 32767, 32767, 32767, 2
15.25, 99.25, 32767, 32767, 32767, 2
15.25, 99.75, 32767, 32767, 32767, 2
15.25, 100.25, 32767, 32767, 32767, 2
15.25, 100.75, 32767, 32767, 32767, 2
15.25, 101.25, 32767, 32767, 32767, 2
15.25, 101.75, 32767, 32767, 32767, 2
15.25, 102.25, 32767, 32767, 32767, 2

댓글 수: 2

Sven
Sven 2011년 12월 5일
What's your question? Do you want to read your data into matlab (without the header) or do you want to delete the first line from the file and re-save it?
joo tan
joo tan 2011년 12월 13일
I want to load the data into matlab without header

댓글을 달려면 로그인하십시오.

 채택된 답변

Walter Roberson
Walter Roberson 2011년 12월 13일

0 개 추천

fmt = repmat('%f',1,6);
fid = fopen('YourFileName.txt', 'rt');
datacell = textscan(fid, fmt, 'Delimiter', ',', 'HeaderLines', 1, 'CollectOutput', 1);
fclose(fid);
TheData = datacell{1};
clear datacell

댓글 수: 15

chocho
chocho 2017년 2월 18일
편집: Walter Roberson 2017년 2월 18일
i have file like that but i want to remove the second header line as follow:
Hybridization REF TCGA-A6-2672-11A-01D-1551-05 TCGA-A6-2672-11A-01D-1551-05
Composite Element REF Beta_value Gene_Symbol Chromosome Genomic_Coordinate
cg00000292 0.511852232819811 ATP2A1 16 28890100
i want to delete the second headerline (Composite Element REF Beta_value Gene_Symbol Chromosome Genomic_Coordinate)
fmt = '%s%f%s%f%f';
fid = fopen('YourFileName.txt', 'rt');
header_to_keep = fgetl(fid);
datacell = textscan(fid, fmt, 'Headerlines', 1);
fclose(fid);
Composite_Element_Ref = datacell{1};
Beta_value = datacell{2};
Gene_Symbol = datacell{3};
Chromosome = datacell{4};
Genomic_Coordinate = datacell{5};
together with the whatever you want to do with the header_to_keep line, which you do not appear to want to delete.
If instead you wanted to delete both header lines, then
fmt = '%s%f%s%f%f';
fid = fopen('YourFileName.txt', 'rt');
datacell = textscan(fid, fmt, 'Headerlines', 2);
fclose(fid);
Composite_Element_Ref = datacell{1};
Beta_value = datacell{2};
Gene_Symbol = datacell{3};
Chromosome = datacell{4};
Genomic_Coordinate = datacell{5};
chocho
chocho 2017년 2월 18일
편집: Walter Roberson 2017년 2월 18일
my fmt i more biger than that i just post an example among them
i used getl to get the whole lines of my text file , then i want to delete the whole lines 2
you get it ?
fid = fopen('COADREAD_methylation.txt','r');
data={};
while ~feof(fid)
l=fgetl(fid);
if isempty(strfind(l,'NA')), data=[data;{l}]; end
end
fid=fclose(fid);
Walter Roberson
Walter Roberson 2017년 2월 18일
편집: Walter Roberson 2017년 2월 18일
fid = fopen('COADREAD_methylation.txt','r');
data={};
linecount = 0;
while ~feof(fid)
l = fgetl(fid);
linecount = linecount + 1;
if linecount == 2; continue; end %skip line 2 specifically
if isempty(strfind(l,'NA'))
data{end+1} = l;
end
end
fid = fclose(fid);
... Or you could just use
data = strsplit( fileread('COADREAD_methylation.txt'), '\n' );
data{2} = [];
chocho
chocho 2017년 2월 18일
hi friend i tried that but it seemes there is an error if linecount == 2; next; end %skip line 2 specifically??
Walter Roberson
Walter Roberson 2017년 2월 18일
Sorry, should be continue instead of next.
chocho
chocho 2017년 2월 18일
Undefined function or variable 'next'.
chocho
chocho 2017년 2월 18일
sorry again if i bother you but now no error but the code doesn't delete the line 2 !!! still exist in the textfile
If you want to remove a line from the file itself, then you have to write out a new file.
fid_in = fopen('COADREAD_methylation.txt', 'r');
fid_out = fopen('new_file.txt', 'w');
L = fgets(fid_in); %copy first line
fwrite(fid_out, L);
fgets(fid_in); %read next line by do not copy it
while ~feof(fid_in);
L = fgets(fid_in);
fwrite(fid_out, L);
end
fclose(fid_in);
fclose(fid_out);
After that you would check to be sure everything worked, and then you could rename the old file to a safe place and rename the new file to the old name.
chocho
chocho 2017년 2월 18일
so sorry , again error Error using fwrite Invalid file identifier. Use fopen to generate a valid file identifier.
Error in Untitled (line 4) fwrite(fid_out, L);
chocho
chocho 2017년 2월 18일
편집: Stephen23 2017년 2월 18일
on brief ,the text file is very large 22198x1 cell i want to remove the second line why you use fgets instead of fgetl !
chocho
chocho 2017년 2월 18일
i mean it's a cell array of size 27581*1 with NA without NA 22198*1
infile = 'COADREAD_methylation.txt';
try
outfile = tempname();
catch ME
error('Your TEMP environment variable is messed up, cannot create temporary file');
end
[fid_in, msg] = fopen(infile, 'r');
if fid_in < 0
error('Could not open input file "%s" because: "%s"', infile, msg);
end
fid_out = fopen(outfile, 'w');
if fid_out < 0
fclose(fid_in);
error('Could not open temporary output file "%s" because: "%s"', outfile, msg);
end
L = fgets(fid_in); %copy first line
fwrite(fid_out, L);
fgets(fid_in); %read next line by do not copy it
while ~feof(fid_in);
L = fgets(fid_in);
fwrite(fid_out, L);
end
fclose(fid_in);
fclose(fid_out);
[pathname, name, ext] = fileparts(infile);
newname = fullfile( pathname, [name '_new' ext] );
try
[success, msg] = movefile( outfile, newname );
catch ME
success = false;
end
if success
fprintf('Done! New file is at "%s"\n', newname );
else
fprintf('Done, but could not move output file here. Look for it at "%s"\n', outfile );
end
Walter Roberson
Walter Roberson 2017년 2월 18일
You cannot write to any directory under "C:\Program Files (x86)" because MS Windows will not allow that. You need to cd to a different directory and work there.
chocho
chocho 2017년 2월 18일
oh that's why ,you know i put all the files in this directory C:\Program Files (x86)\MATLAB\R2012a thanks a lot ....

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Standard File Formats에 대해 자세히 알아보기

태그

질문:

2011년 12월 5일

댓글:

2017년 2월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by