[textscan] lecture fichier csv complexe
Bonjour,
j'ai à lire des fichiers CSV relativement complexe
avec un Header de 94 lignes finissant par une ligne
puis ensuite les données de la forme (une seule ligne) :
Code:
0,"40951.1298148148","+25.8","0","","+621.45","0","","&B10000000","&B00000000"
qui sont séparées par des , et encadrées entre ".
puis le fichier fini par une ligne:
J'ai jeté un coup d’œil ici dans cet ancien topic http://www.developpez.net/forums/d72...e-fichier-csv/
d'où j'ai fait
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| fid = fopen('file.csv', 'rt');
car = fread(fid);
fclose(fid);
data = strrep(char(car'), ',', ':');
% data = strrep(data, ';', ':');
data = strrep(data, '"', '');
fid=fopen('data.txt','w');
fwrite(fid,data);
fclose('all');
fid=fopen('data.txt');
data_txt=textscan(fid,'%f%f%s%f%f%s%f%f%s%s','delimiter',':/ ','headerlines',94);
fclose('all') |
mais au lien de me créer un tableau de cellule de n*10 (n: nbr de ligne et 10 est le nombre de colonne), il me créer juste une variable data char de dimension 1*1038590.
J'aurais donc 2 questions:
-Pourquoi ne prend il pas en compte les delimiters et créer une seule variable aussi grande ?
- Est il possible de définir la zone de données à l'aide des lignes :
et
Merci d'avance.