we know like xcell operations can be performed in csv like multipling 2 rows etc
eg) when we append data to csv from a matrix , we get a row of data
suppose i want that data*2 but not perform that calculation in matlab and do it in csv (=A1*2 %this type)
and then read the next coloumn (B) to get the result
how do i proceed?
thaks for any help you can provide

댓글 수: 4

Cris LaPierre
Cris LaPierre 2021년 3월 21일
A csv file is not an Excel file. It usually refers to a specific format of a delimited text file.
You can't add equations to a csv file. Once that is done, the file can only be saved in an Excel file type (xlsx, xls, etc).
If you don't want to use MATLAB for your data processing, then why not just add the equation yourself in Excel?
dpb
dpb 2021년 3월 21일
You can use writecell to enter formulas into Excel, but I've found it extremely slow and will, in fact, hang/crash MATLAB to try to do so to write many individual cells scattered around the spreadsheet. It will work to do one cell or row or column or other range, but as Chris says, it has to be in a spreadsheet, not a text file type.
SINDU GOKULAPATI
SINDU GOKULAPATI 2021년 3월 22일
same as xcell files csv files do perform cell operations , its not limited
i have tried performing cell operation in csv and read the result in matlab so in that sence i know it is possible
Cris LaPierre
Cris LaPierre 2021년 3월 22일
Sure you can add them. You just can't save the equations in a csv file. If you save as a csv file, the equations are replaced with values. Close and reopen the csv file, and you'll see that the updated values are still there, but all the equations are gone.

댓글을 달려면 로그인하십시오.

답변 (1개)

Cris LaPierre
Cris LaPierre 2021년 3월 22일
편집: Cris LaPierre 2021년 3월 22일

0 개 추천

You may find the following two posts helpful.
The resulting code would be something like this.
file = 'D:\Applications\work\example.csv'; % This must be full path name
% Create connection to Excel
excelapp = actxserver('Excel.Application');
wkbk = excelapp.Workbooks.Open(file);
% Write equation to specified cell:
EqnRange = wkbk.Activesheet.get('Range','B1');
EqnRange.Formula = '=A1*2';
% Save changes. This leaves the value in the csv file, not the equation
invoke(wkbk,'Save');
% Close Excel and clean up
invoke(excelapp,'Quit');
delete(excelapp);
clear excelapp;

카테고리

제품

태그

질문:

2021년 3월 21일

편집:

2021년 3월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by