How to delete empty files/spreadsheets in a directory ?
Ältere Kommentare anzeigen
Hello,
I have a directory with milions of .xlsx files. The point is that I want to remove empty files. Is there a way to do it using a command in matlab? Instead of the fact that these files are empty, they have 10kb.
Could you please help me?
4 Kommentare
data = {};
writecell(data, 'test.xlsx');
!ls -l test.xlsx
If I understand correctly, you are indicating that the files have no visible content, but still take up about 10 kb of space.
If so then that would suggest that they might have template or macro material written into them, or might have additional sheets.
How do you want to decide whether a particular spreedsheet is empty enough for your purposes?
Ivan Mich
am 4 Mär. 2021
Walter Roberson
am 4 Mär. 2021
To clarify:
Files that have only one line of data should be deleted, but files that have more than one line of data should not be deleted?
Akzeptierte Antwort
Weitere Antworten (1)
Fangjun Jiang
am 4 Mär. 2021
0 Stimmen
- run [STATUS,SHEETS] = xlsfinfo(FILENAME). Most likely, it will tell you there is only one sheet
- run [NUM,TXT,RAW]=xlsread(FILENAME). Most likely, isempty(NUM) and isempty(TXT) are both true
- delete(FILENAME)
2 Kommentare
Walter Roberson
am 4 Mär. 2021
Alternative to the second step:
C = readcell(FILENAME);
isempty(C)
For example,
[STATUS, SHEETS] = xlsfinfo(FILENAME);
if length(SHEETS) > 1; next; end %assume multiple sheet files are special
C = readcell(FILENAME, 'sheet', SHEETS{1});
if isempty(C); delete(FILENAME); end
Ivan Mich
am 5 Mär. 2021
Kategorien
Mehr zu Variables finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!