New tab Sheet using fprintf function

16 views (last 30 days)
Life is Wonderful
Life is Wonderful on 29 May 2023
Here there,
I am trying to build code where I have a data and I want to enter the data in new/separate tab sheet for a single *.csv file where my data is filled like done in below piece of code
I would like to have new tab sheet with x data and another new tab sheet with y data.
Can some some help me
fid = fopen('data_tab_m.csv','w');
x = rand(1,3);
y = rand(3,1);
% first tab sheet
for i= 1:length(x)
fprintf('%f\n',x);
fprintf(fid,'%f\n',x);
end
0.119879 0.141342 0.281086 0.119879 0.141342 0.281086 0.119879 0.141342 0.281086
% second tab sheet
for i= 1:length(y)
fprintf('%f\n',y);
fprintf(fid,'%f\n',y);
end
0.523532 0.924488 0.376526 0.523532 0.924488 0.376526 0.523532 0.924488 0.376526
fclose(fid);

Answers (1)

Walter Roberson
Walter Roberson on 29 May 2023
No, that is not possible. csv files are pure text files, and do not have tab sheets.
Putting data on other tabs is possible in .xls and .xlsx and .xlsm and .xlsb files, none of which store data in csv format.
  8 Comments
Life is Wonderful
Life is Wonderful on 1 Jun 2023
So, we both have great things to say, and the true use case is to provide a solution, and we both agree that one spreadsheet cannot support numerous tabs with multiple variables to write and read.
I will go another route and give data analysis where print includes multi-location variable print that collaborates data in the same area.
In the example code below, I organised all variables into a structure and can print all essential data in text, *.xls, *.xlsx, *.csv and so on.
In below example, say multi_data_analysis() does addition, multiplication, and data collection on a single sheet.
clc;clearvars;
fid = fopen('collect_data.csv','w');
T.a = 1:10;
T.b = 1:2:20;
T.c = 1:3:30;
T.d = 1:4:40;
clear T.x T.y;
fprintf('%10s|%10s|%10s|%10s|%10sd|\n----------+----------+----------+----------+----------+\n','i','j','a(i)','b(j)','x(i,J)');
i| j| a(i)| b(j)| x(i,J)d| ----------+----------+----------+----------+----------+
[T] = math_add(T);
1| 1| 1| 1| 2| 1| 2| 1| 3| 4| 1| 3| 1| 5| 6| 1| 4| 1| 7| 8| 1| 5| 1| 9| 10| 1| 6| 1| 11| 12| 1| 7| 1| 13| 14| 1| 8| 1| 15| 16| 1| 9| 1| 17| 18| 1| 10| 1| 19| 20| 2| 1| 2| 1| 3| 2| 2| 2| 3| 5| 2| 3| 2| 5| 7| 2| 4| 2| 7| 9| 2| 5| 2| 9| 11| 2| 6| 2| 11| 13| 2| 7| 2| 13| 15| 2| 8| 2| 15| 17| 2| 9| 2| 17| 19| 2| 10| 2| 19| 21| 3| 1| 3| 1| 4| 3| 2| 3| 3| 6| 3| 3| 3| 5| 8| 3| 4| 3| 7| 10| 3| 5| 3| 9| 12| 3| 6| 3| 11| 14| 3| 7| 3| 13| 16| 3| 8| 3| 15| 18| 3| 9| 3| 17| 20| 3| 10| 3| 19| 22| 4| 1| 4| 1| 5| 4| 2| 4| 3| 7| 4| 3| 4| 5| 9| 4| 4| 4| 7| 11| 4| 5| 4| 9| 13| 4| 6| 4| 11| 15| 4| 7| 4| 13| 17| 4| 8| 4| 15| 19| 4| 9| 4| 17| 21| 4| 10| 4| 19| 23| 5| 1| 5| 1| 6| 5| 2| 5| 3| 8| 5| 3| 5| 5| 10| 5| 4| 5| 7| 12| 5| 5| 5| 9| 14| 5| 6| 5| 11| 16| 5| 7| 5| 13| 18| 5| 8| 5| 15| 20| 5| 9| 5| 17| 22| 5| 10| 5| 19| 24| 6| 1| 6| 1| 7| 6| 2| 6| 3| 9| 6| 3| 6| 5| 11| 6| 4| 6| 7| 13| 6| 5| 6| 9| 15| 6| 6| 6| 11| 17| 6| 7| 6| 13| 19| 6| 8| 6| 15| 21| 6| 9| 6| 17| 23| 6| 10| 6| 19| 25| 7| 1| 7| 1| 8| 7| 2| 7| 3| 10| 7| 3| 7| 5| 12| 7| 4| 7| 7| 14| 7| 5| 7| 9| 16| 7| 6| 7| 11| 18| 7| 7| 7| 13| 20| 7| 8| 7| 15| 22| 7| 9| 7| 17| 24| 7| 10| 7| 19| 26| 8| 1| 8| 1| 9| 8| 2| 8| 3| 11| 8| 3| 8| 5| 13| 8| 4| 8| 7| 15| 8| 5| 8| 9| 17| 8| 6| 8| 11| 19| 8| 7| 8| 13| 21| 8| 8| 8| 15| 23| 8| 9| 8| 17| 25| 8| 10| 8| 19| 27| 9| 1| 9| 1| 10| 9| 2| 9| 3| 12| 9| 3| 9| 5| 14| 9| 4| 9| 7| 16| 9| 5| 9| 9| 18| 9| 6| 9| 11| 20| 9| 7| 9| 13| 22| 9| 8| 9| 15| 24| 9| 9| 9| 17| 26| 9| 10| 9| 19| 28| 10| 1| 10| 1| 11| 10| 2| 10| 3| 13| 10| 3| 10| 5| 15| 10| 4| 10| 7| 17| 10| 5| 10| 9| 19| 10| 6| 10| 11| 21| 10| 7| 10| 13| 23| 10| 8| 10| 15| 25| 10| 9| 10| 17| 27| 10| 10| 10| 19| 29|
fprintf('%10s|%10s|%10s|%10s|%10sd|\n----------+----------+----------+----------+----------+\n','i','j','c(i)','c(j)','y(i,J)');
i| j| c(i)| c(j)| y(i,J)d| ----------+----------+----------+----------+----------+
[T] = math_mul(T);
1| 1| 1| 1| 1| 1| 2| 1| 5| 5| 1| 3| 1| 9| 9| 1| 4| 1| 13| 13| 1| 5| 1| 17| 17| 1| 6| 1| 21| 21| 1| 7| 1| 25| 25| 1| 8| 1| 29| 29| 1| 9| 1| 33| 33| 1| 10| 1| 37| 37| 2| 1| 4| 1| 4| 2| 2| 4| 5| 20| 2| 3| 4| 9| 36| 2| 4| 4| 13| 52| 2| 5| 4| 17| 68| 2| 6| 4| 21| 84| 2| 7| 4| 25| 100| 2| 8| 4| 29| 116| 2| 9| 4| 33| 132| 2| 10| 4| 37| 148| 3| 1| 7| 1| 7| 3| 2| 7| 5| 35| 3| 3| 7| 9| 63| 3| 4| 7| 13| 91| 3| 5| 7| 17| 119| 3| 6| 7| 21| 147| 3| 7| 7| 25| 175| 3| 8| 7| 29| 203| 3| 9| 7| 33| 231| 3| 10| 7| 37| 259| 4| 1| 10| 1| 10| 4| 2| 10| 5| 50| 4| 3| 10| 9| 90| 4| 4| 10| 13| 130| 4| 5| 10| 17| 170| 4| 6| 10| 21| 210| 4| 7| 10| 25| 250| 4| 8| 10| 29| 290| 4| 9| 10| 33| 330| 4| 10| 10| 37| 370| 5| 1| 13| 1| 13| 5| 2| 13| 5| 65| 5| 3| 13| 9| 117| 5| 4| 13| 13| 169| 5| 5| 13| 17| 221| 5| 6| 13| 21| 273| 5| 7| 13| 25| 325| 5| 8| 13| 29| 377| 5| 9| 13| 33| 429| 5| 10| 13| 37| 481| 6| 1| 16| 1| 16| 6| 2| 16| 5| 80| 6| 3| 16| 9| 144| 6| 4| 16| 13| 208| 6| 5| 16| 17| 272| 6| 6| 16| 21| 336| 6| 7| 16| 25| 400| 6| 8| 16| 29| 464| 6| 9| 16| 33| 528| 6| 10| 16| 37| 592| 7| 1| 19| 1| 19| 7| 2| 19| 5| 95| 7| 3| 19| 9| 171| 7| 4| 19| 13| 247| 7| 5| 19| 17| 323| 7| 6| 19| 21| 399| 7| 7| 19| 25| 475| 7| 8| 19| 29| 551| 7| 9| 19| 33| 627| 7| 10| 19| 37| 703| 8| 1| 22| 1| 22| 8| 2| 22| 5| 110| 8| 3| 22| 9| 198| 8| 4| 22| 13| 286| 8| 5| 22| 17| 374| 8| 6| 22| 21| 462| 8| 7| 22| 25| 550| 8| 8| 22| 29| 638| 8| 9| 22| 33| 726| 8| 10| 22| 37| 814| 9| 1| 25| 1| 25| 9| 2| 25| 5| 125| 9| 3| 25| 9| 225| 9| 4| 25| 13| 325| 9| 5| 25| 17| 425| 9| 6| 25| 21| 525| 9| 7| 25| 25| 625| 9| 8| 25| 29| 725| 9| 9| 25| 33| 825| 9| 10| 25| 37| 925| 10| 1| 28| 1| 28| 10| 2| 28| 5| 140| 10| 3| 28| 9| 252| 10| 4| 28| 13| 364| 10| 5| 28| 17| 476| 10| 6| 28| 21| 588| 10| 7| 28| 25| 700| 10| 8| 28| 29| 812| 10| 9| 28| 33| 924| 10| 10| 28| 37| 1036|
fprintf(['%10s|%10s|%10s|%10s|%10s|%10s|%10s|%10sd|\n' ...
'----------+----------+----------+----------+----------+----------+----------+-----------+\n'], ...
'u','v','T.a(u)','T.b(u)','T.c(u)','T.d(u)','T.x(u,v)','T.y(u,v)');
u| v| T.a(u)| T.b(u)| T.c(u)| T.d(u)| T.x(u,v)| T.y(u,v)d| ----------+----------+----------+----------+----------+----------+----------+-----------+
fprintf(fid,['%10s, %10s, %10s, %10s, %10s, %10s, %10s, %10s\n'], ...
'u','v','T.a(u)','T.b(u)','T.c(u)','T.d(u)','T.x(u v)','T.y(u v)');
for u = 1:size(T.x,1)
for v = 1:size(T.x,1)
fprintf('%10d|%10d|%10d|%10d|%10d|%10d|%10d|%10d|\n',u,v,T.a(u),T.b(u),T.c(u),T.d(u),T.x(u,v),T.y(u,v));
fprintf(fid,'%10d, %10d, %10d, %10d, %10d, %10d, %10d, %10d, \n',u,v,T.a(u),T.b(u),T.c(u),T.d(u),T.x(u,v),T.y(u,v));
end
end
1| 1| 1| 1| 1| 1| 2| 1| 1| 2| 1| 1| 1| 1| 4| 5| 1| 3| 1| 1| 1| 1| 6| 9| 1| 4| 1| 1| 1| 1| 8| 13| 1| 5| 1| 1| 1| 1| 10| 17| 1| 6| 1| 1| 1| 1| 12| 21| 1| 7| 1| 1| 1| 1| 14| 25| 1| 8| 1| 1| 1| 1| 16| 29| 1| 9| 1| 1| 1| 1| 18| 33| 1| 10| 1| 1| 1| 1| 20| 37| 2| 1| 2| 3| 4| 5| 3| 4| 2| 2| 2| 3| 4| 5| 5| 20| 2| 3| 2| 3| 4| 5| 7| 36| 2| 4| 2| 3| 4| 5| 9| 52| 2| 5| 2| 3| 4| 5| 11| 68| 2| 6| 2| 3| 4| 5| 13| 84| 2| 7| 2| 3| 4| 5| 15| 100| 2| 8| 2| 3| 4| 5| 17| 116| 2| 9| 2| 3| 4| 5| 19| 132| 2| 10| 2| 3| 4| 5| 21| 148| 3| 1| 3| 5| 7| 9| 4| 7| 3| 2| 3| 5| 7| 9| 6| 35| 3| 3| 3| 5| 7| 9| 8| 63| 3| 4| 3| 5| 7| 9| 10| 91| 3| 5| 3| 5| 7| 9| 12| 119| 3| 6| 3| 5| 7| 9| 14| 147| 3| 7| 3| 5| 7| 9| 16| 175| 3| 8| 3| 5| 7| 9| 18| 203| 3| 9| 3| 5| 7| 9| 20| 231| 3| 10| 3| 5| 7| 9| 22| 259| 4| 1| 4| 7| 10| 13| 5| 10| 4| 2| 4| 7| 10| 13| 7| 50| 4| 3| 4| 7| 10| 13| 9| 90| 4| 4| 4| 7| 10| 13| 11| 130| 4| 5| 4| 7| 10| 13| 13| 170| 4| 6| 4| 7| 10| 13| 15| 210| 4| 7| 4| 7| 10| 13| 17| 250| 4| 8| 4| 7| 10| 13| 19| 290| 4| 9| 4| 7| 10| 13| 21| 330| 4| 10| 4| 7| 10| 13| 23| 370| 5| 1| 5| 9| 13| 17| 6| 13| 5| 2| 5| 9| 13| 17| 8| 65| 5| 3| 5| 9| 13| 17| 10| 117| 5| 4| 5| 9| 13| 17| 12| 169| 5| 5| 5| 9| 13| 17| 14| 221| 5| 6| 5| 9| 13| 17| 16| 273| 5| 7| 5| 9| 13| 17| 18| 325| 5| 8| 5| 9| 13| 17| 20| 377| 5| 9| 5| 9| 13| 17| 22| 429| 5| 10| 5| 9| 13| 17| 24| 481| 6| 1| 6| 11| 16| 21| 7| 16| 6| 2| 6| 11| 16| 21| 9| 80| 6| 3| 6| 11| 16| 21| 11| 144| 6| 4| 6| 11| 16| 21| 13| 208| 6| 5| 6| 11| 16| 21| 15| 272| 6| 6| 6| 11| 16| 21| 17| 336| 6| 7| 6| 11| 16| 21| 19| 400| 6| 8| 6| 11| 16| 21| 21| 464| 6| 9| 6| 11| 16| 21| 23| 528| 6| 10| 6| 11| 16| 21| 25| 592| 7| 1| 7| 13| 19| 25| 8| 19| 7| 2| 7| 13| 19| 25| 10| 95| 7| 3| 7| 13| 19| 25| 12| 171| 7| 4| 7| 13| 19| 25| 14| 247| 7| 5| 7| 13| 19| 25| 16| 323| 7| 6| 7| 13| 19| 25| 18| 399| 7| 7| 7| 13| 19| 25| 20| 475| 7| 8| 7| 13| 19| 25| 22| 551| 7| 9| 7| 13| 19| 25| 24| 627| 7| 10| 7| 13| 19| 25| 26| 703| 8| 1| 8| 15| 22| 29| 9| 22| 8| 2| 8| 15| 22| 29| 11| 110| 8| 3| 8| 15| 22| 29| 13| 198| 8| 4| 8| 15| 22| 29| 15| 286| 8| 5| 8| 15| 22| 29| 17| 374| 8| 6| 8| 15| 22| 29| 19| 462| 8| 7| 8| 15| 22| 29| 21| 550| 8| 8| 8| 15| 22| 29| 23| 638| 8| 9| 8| 15| 22| 29| 25| 726| 8| 10| 8| 15| 22| 29| 27| 814| 9| 1| 9| 17| 25| 33| 10| 25| 9| 2| 9| 17| 25| 33| 12| 125| 9| 3| 9| 17| 25| 33| 14| 225| 9| 4| 9| 17| 25| 33| 16| 325| 9| 5| 9| 17| 25| 33| 18| 425| 9| 6| 9| 17| 25| 33| 20| 525| 9| 7| 9| 17| 25| 33| 22| 625| 9| 8| 9| 17| 25| 33| 24| 725| 9| 9| 9| 17| 25| 33| 26| 825| 9| 10| 9| 17| 25| 33| 28| 925| 10| 1| 10| 19| 28| 37| 11| 28| 10| 2| 10| 19| 28| 37| 13| 140| 10| 3| 10| 19| 28| 37| 15| 252| 10| 4| 10| 19| 28| 37| 17| 364| 10| 5| 10| 19| 28| 37| 19| 476| 10| 6| 10| 19| 28| 37| 21| 588| 10| 7| 10| 19| 28| 37| 23| 700| 10| 8| 10| 19| 28| 37| 25| 812| 10| 9| 10| 19| 28| 37| 27| 924| 10| 10| 10| 19| 28| 37| 29| 1036|
function [T] = math_add(T)
fid = fopen('collect_add.csv','w');
fprintf(fid,'%10s, %10s, %10s, %10s, %10sd, \n','i','j','a(i)','b(j)','x(i J)');
for i = 1:size(T.a,2)
for j = 1:size(T.b,2)
T.x(i,j) = T.a(i) + T.b(j);
fprintf('%10d|%10d|%10d|%10d|%10d|\n',i,j,T.a(i),T.b(j),T.x(i,j));
fprintf(fid,'%10d, %10d, %10d, %10d, %10d, \n',i,j,T.a(i),T.b(j),T.x(i,j));
end
end
fclose(fid);
end
function [T] = math_mul(T)
fid = fopen('collect_mul.csv','w');
fprintf(fid,'%10s, %10s, %10s, %10s, %10sd \n','i','j','c(i)','d(j)','y(i J)');
for i = 1:size(T.c,2)
for j = 1:size(T.d,2)
T.y(i,j) = T.c(i) .* T.d(j);
fprintf('%10d|%10d|%10d|%10d|%10d|\n',i,j,T.c(i), T.d(j),T.y(i,j));
fprintf(fid,'%10d, %10d, %10d, %10d, %10d, \n',i,j,T.c(i), T.d(j),T.y(i,j));
end
end
fclose(fid);
end
Thank you

Sign in to comment.

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!