How can I write a 2D array into a CSV file

I have read an array from a csv file and done some calculations on that. After that, I want to save the array excactly like the CSV file I read.I would be thankful if anyone could help me with this .I have also attached a sample file. thank You so much
sample=readmatrix('71.csv');
Blank=readmatrix('Blank.csv');
x=sample(1,2:end);
y=sample(2:end,1);
RamanArea=5275.6715;
data=sample(2:end,2:end);
dataBlank=Blank(2:end,2:end);
[numRows,numCols] = size(data);
data=data-dataBlank;
for k = 1:numRows
for l = 1:numCols
data(k,l)=data (k,l)/RamanArea;
end
end
for i = 1:numRows
for j = 1:numCols
if (data(i,j)<=0)
data(i,j)=NaN;
end
end
end
xCSV=numRows+1;
yCSV=numCols+1;
xsvArray=csvArray(xCSV,yCSV);
csvArray(2:end,1)=x;
csvArray(1,2:end)=y;
csvwrite('file.csv',csvArray);
csvwrite('file.csv',x,1,0);
figure();
surf(x,y,data);
colorbar();

3 Kommentare

Walter Roberson
Walter Roberson am 17 Feb. 2022
Normally I would say just use writematrix(). However you said "exactly" like the CSV file you read, and the first field of that example file is missing (file starts with a comma). Is the implication that you want missing fields to be output as empty? If so then the NaN values you write in, are those to count as missing values for the purpose of determining whether to write emptiness or not?
Behrad Ze
Behrad Ze am 17 Feb. 2022
Exactly. I want to save the missed values as missing or NaN.the A1 is an empty space.I also have several missing values in the array which should be transfered to csv file. The X starts from B1.
Behrad Ze
Behrad Ze am 17 Feb. 2022
And the Y starts from A2. Thank You

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 17 Feb. 2022

0 Stimmen

as_cell = [num2cell([nan, x]); num2cell(csvArray)];
as_cell(cellfun(@isnan, as_cell)) = {''};
writecell(as_cell, 'file.csv')

Weitere Antworten (0)

Kategorien

Produkte

Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by