Probelm with 'writecell'
조회 수: 1 (최근 30일)
이전 댓글 표시
I just want to delet first line form my data.
It's .csv file, and raw data has two line for text and others are number.
This is what i trying to do.
m = readcell('rawdata.csv');
m(1,:) = [];
writecell(m, 'modified_data.csv');
but it doesn't work.
thanks for your help.
댓글 수: 0
답변 (2개)
Star Strider
2019년 7월 10일
Try this:
m = readcell('rawdata.csv');
writecell(m(2:end,:), 'modified_data.csv');
If that does not work, upload (attach) ‘rawdata.csv’ so we can experiment with it.
Guillaume
2019년 7월 10일
If the only thing you're trying to do is remove the first line of a text file, then parsing the file (with csvread, readcell, or any similar function) is completely overkill and just slows you down.
filecontent = fileread('rawdata.csv');
without1stline = regexp(filecontent, '(?<=[\n\r]+)[^\n\r].*', 'match', 'once')
fid = fopen('modifed_data.csv', 'w');
fwrite(fid, without1stline);
fclose(fid);
댓글 수: 2
Guillaume
2019년 7월 15일
[filename, path] = uigetfile('*.csv'); %ask user for a csv file
assert(~isequal(filename, 0), 'No file selected. Aborting');
filecontent = fileread(fullfile(path, filename)); %read file, using full path
without1stline = regexp(filecontent, '(?<=[\n\r]+)[^\n\r].*', 'match', 'once'); %remove 1st line of file
[~, base, extension] = fileparts(filename); %split input file name into base and extension
newfilename = [base, '_modified', extension]; %append '_modified' to base filename and add extension back
fid = fopen(fullfile(path, newfilename), 'w'); %create new file
fwrite(fid, without1stline);
fclose(fid);
참고 항목
카테고리
Help Center 및 File Exchange에서 Text Files에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!