How to replace all the strings of a csv file with NaN using textscan and "TreatAsEmpty" ?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I'm using textscan to read huge csv file.
Theses files contain numbers and strings.
How to replace all the string with NaN using "TreatAsEmpty" ?
The location of the strings depend on the file and the strings are different for each file.
For example a csv file like this :
1 3 5 6 temp 56 d 3
4 f 45 5 6 H 4 5
How to obtain that ?
1 3 5 6 NaN 56 NaN 3
4 NaN 45 5 6 NaN 4 5
Thank you for your help !
Best,
1 Kommentar
dpb
am 4 Mai 2017
Only way to do that with textscan would be to have a complete list of the strings contained in the file.
Antworten (1)
dpb
am 4 Mai 2017
OTOH,
>> fid=fopen('ziad.txt');
>> fmt=repmat('%s',1,8);
>> c=textscan(fid,fmt,'collectoutput',1);
>> fid=fclose(fid);
>> data=str2double(c{:})
data =
1 3 5 6 NaN 56 NaN 3
4 NaN 45 5 6 NaN 4 5
>>
2 Kommentare
dpb
am 5 Mai 2017
Bearbeitet: dpb
am 5 Mai 2017
That's not all that big; wouldn't think it too bad on time. What did it take?
As noted, you would have to have a complete list of all text fields in the file with an exact match for every one. Do you know that a priori?
I can't help but think even if did it wouldn't take quite a lot longer than the above.
Siehe auch
Kategorien
Mehr zu Text Data Preparation finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!