Bonjour à tous,
je cherche à améliorer un vieux script permettant de lire de gros fichiers texte : dans les 500 mo.
les fichiers sont constitué de bloc de 7 lignes avec un nombre fini de colonnes que l'on peut connaitre. Le nombre de colonnes change tous les 7 lignes et peut être vraiment important. voici un petit exemple
je cherche à utiliser la fonction fscanf car elle fournit directement des doubles contrairement à fgets et fgetl.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 8:2: 1 1 1 1 1 1 1 1 8:3: 234.62 41.602 139.25 145.75 208.28 74.254 185.67 101.62 8:4: 5.0338 19.496 74.35 177.87 190.65 204.74 211.74 228.23 8:5: 23401 31239 27903 28591 26152 26176 27314 27855 8:6: 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 8:7: 0 0 0 0 0 0 0 0 8:8: 10 10 10 10 10 10
mais sur l'exemple donné ici (première ligne) la commande
retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part value = fscanf(fid, '%d:%d: %f', [1 10])
je comprendrai quelle me fournisse
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 value = 8 2 1 1
puisque je ne définie ma ligne qu'avec 2 entier et un flottant! mais qu'elle fournisse un deuxième flottant puis plus rien là je comprends pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 value = 8 2 1
si vous connaissez des méthode plus rapide de lecture, n'hésitez pas à me les conseiller : je suis preneur.
merci d'avance pour votre aide
Z
Partager