i have created a code such that data is appended to csv file every time the loop runs
but when i run the program again the new data is added with the old one
but i want to clear out the data in then csvfile before hand
what command do i use
delete('xyz.csv') deletes the whole file

댓글 수: 4

SINDU GOKULAPATI
SINDU GOKULAPATI 2021년 3월 24일
i acctually dont want to append
i want to delete the existing data completely
Merve Buyukbas
Merve Buyukbas 2021년 3월 24일
But you shouldn't count on the main directory and instead use full paths everywhere in your script. This way the data can be located anywhere independently on where the code is.
SINDU GOKULAPATI
SINDU GOKULAPATI 2021년 3월 24일
im sorry i dont know if im not explaning properly
i have a csv file with all numbers it self ,let that be just 3 cells in my csv with data 1,2,3
if i open csv file i can see those three cells only
now using code in matlab i want to erase those
so now when i open that csv file it should be empty
there is no .txt or sring data
hope my question is conveys right

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

 채택된 답변

Walter Roberson
Walter Roberson 2021년 3월 24일

1 개 추천

fclose(fopen('xyz.csv', 'w'));
When you open a file for writing with 'w' access, the existing content is discarded.
Note: the POSIX standard library specifies truncate() and ftruncate() functions that would be a closer match. However, MATLAB does not implement either of those.

댓글 수: 6

SINDU GOKULAPATI
SINDU GOKULAPATI 2021년 3월 30일
thank you very much walter it worked
SINDU GOKULAPATI
SINDU GOKULAPATI 2021년 5월 11일
hello walter
after using that particular code im not able to perform csvread operation so is there any alternative?
Walter Roberson
Walter Roberson 2021년 5월 11일
? The entire purpose of this code is to "clear out the data in then csvfile before hand" . After using it, the file is going to be empty (provided that you had write access to the file.)
dlmwrite('on.csv',(matrix),'-append')
s=csvread('D:\sem6\PROJECT\on.csv',1,2);
fclose(fopen('D:\sem6\PROJECT\on.csv','w'));
this is the order of my code but its giving a dlmread error (but i havent used dlmread)
Walter Roberson
Walter Roberson 2021년 5월 12일
csvread() calls dlmread() with delimiter ','
You are writing to a file that is not necesarily in the same place as you are reading from, as your current directory is not necessarily D:\sem6\PROJECT
SINDU GOKULAPATI
SINDU GOKULAPATI 2021년 5월 16일
편집: SINDU GOKULAPATI 2021년 5월 16일
hey walter i specified the directory but still giving error,
for context
for i=1:n
for j=1:n
angle = transpose(rnorm{i})*rnorm{j};
if angle > cosd(20) && angle <= cosd(0)
matrix = [i,j,angle];
dlmwrite('D:\sem6\PROJECT\on.csv',(matrix),'-append')
end
end
k=0;
s=dlmread('D:\sem6\PROJECT\on.csv',',',1,2);
store= histcounts(s); //need histogram for each point wrt to angle subjected to other points
fclose(fopen('D:\sem6\PROJECT\on.csv','w')); //to rewite for every 'i'
end
ps: i have attachec csv file with 50 rnorm value (intended output is 50 histograms)

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Environment and Settings에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by