how to write into excel columnwise
2 次查看(过去 30 天)
显示 更早的评论
function writefiles(dest_folder)
addpath(genpath(dest_folder)); %add folder to the path
filesandf=dir(dest_folder); %display contents of folder
filesinfolder= filesandf(~([filesandf.isdir])); %show only files of folder
fnames= {filesinfolder.name}; %show names of all in a cell
numoffiles=length(fnames); %number of files
k=1;
while(k<numoffiles)
filename=filesinfolder(k).name;
fid=fopen(filename); %open the file
tline = fgetl(fid); %read file line by line
while ischar(tline) %iterate through every line of file
if contains(lower(tline),'import from') %check for "import from" keyword
tests_after_import_from=regexp(tline,'\w*.art\w*', 'match'); %if present,check for any string containing .art in the same line
ind=ismember(tests_after_import_from, fnames); %check if the string containing .art is present in the dest_folder
if ind~=1
% here i want to write the filename and
% tests_after_import_from into columns of excel file 'A'
% and 'B' respectively
end
end
tline = fgetl(fid); %read next line
end
fclose(fid); %close the file
k=k+1; %next iteration
end
end
Hello all,
in this code i am getting two outputs one is tests_after_import_from and filename .now i want to write all outputs which these two variables are giving to excel file . where filename wil come in 'A' column and tests_after_import_from wil go in 'B' column after the if ind~=1 is satisfied.how can i do that..
please help...
2 个评论
Stephen23
2021-3-21
Why do you need to a data folder to the MATLAB path?
In general it is more efficient to keep folders of data files off the MATLAB search path.
Image Analyst
2021-3-21
Stephen is correct. Do not use addpath() or savepath() in your code.
Just use fullfile() to construct the full file name from the base file name and the folder:
baseFileName = filesinfolder(k).name;
fullFileName = fullfile(dest_folder, baseFileName)
fid = fopen(fullFileName, 'rt'); % Open the file as text.
采纳的回答
ANKUR KUMAR
2021-3-19
编辑:ANKUR KUMAR
2021-3-21
for k=1:numoffiles
filename=filesinfolder(kkk).name;
fid=fopen(filename); %open the file
tline = fgetl(fid); %read file line by line
while ischar(tline) %iterate through every line of file
if contains(lower(tline),'import from') %check for "import from" keyword
tests_after_import_from=regexp(tline,'\w*.art\w*', 'match'); %if present,check for any string containing .art in the same line
ind=ismember(tests_after_import_from, fnames); %check if the string containing .art is present in the dest_folder
if ind~=1
output_table{kk,1}=filename;
output_table{kk,2}=tests_after_import_from;
end
end
tline = fgetl(fid); %read next line
end
fclose(fid); %close the file
end
xlswrite('output_file',[{'host','imported'};output_table])
Hope it helps.
8 个评论
ANKUR KUMAR
2021-3-22
@R V P Is that variable you are writing in second column a string or double?
If you attach your complete code, along with the sufficient varibales in a mat file, it would help us to help you quickly and efficiently.
更多回答(1 个)
Image Analyst
2021-3-19
Where are you calling xlswrite (deprecated) or writematrix() or writecell()?
1 个评论
ANKUR KUMAR
2021-3-19
writematrix has been introduced in 2019a version. If someone is using older version, xlswrite works well.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!