how to write into excel columnwise

5 ビュー (過去 30 日間)
Rohit P
Rohit P 2021 年 3 月 19 日
編集済み: Image Analyst 2021 年 3 月 24 日
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
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
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
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
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.
Rohit P
Rohit P 2021 年 3 月 24 日
編集済み: Image Analyst 2021 年 3 月 24 日
The issue was from my side. I have corrected it now, and the code is running perfectly. Thank you for the solution.

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2021 年 3 月 19 日
Where are you calling xlswrite (deprecated) or writematrix() or writecell()?
  1 件のコメント
ANKUR KUMAR
ANKUR KUMAR 2021 年 3 月 19 日
writematrix has been introduced in 2019a version. If someone is using older version, xlswrite works well.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by