Charger des données depuis un fichier csv (SDk de l'iphone)

Personne ne sait comment charger des données depuis un fichier csv?

Pour l'exemple de code,
CPTestAppScatterPlotController.m
que j'ai téléchargé à partir de la base-de la parcelle Google site web, un graphe de ligne peut être tracée en fonction au hasard
généré des données initiales x, y.

 //Add some initial data
 SMutableArray *contentArray = [NSMutableArray arrayWithCapacity:100];
 NSUInteger i;
 for ( i = 0; i < 60; i++ ) {
     id x = [NSNumber numberWithFloat:1+i*0.05];
     id y = [NSNumber numberWithFloat:1.2*rand()/(float)RAND_MAX + 1.2];
     [contentArray addObject:[NSMutableDictionary 
                      dictionaryWithObjectsAndKeys:x, @"x", y, @"y", nil]];
}
self.dataForPlot = contentArray;

Puis j'ai modifié le code,

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"ECG_Data" ofType:@"csv"];
NSString *myText = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil ];
NSScanner *scanner = [NSScanner scannerWithString:myText];
[scanner setCharactersToBeSkipped:[NSCharacterSet characterSetWithCharactersInString:@"\n, "]];
NSMutableArray *newPoints = [NSMutableArray array];           
float time, data;
while ( [scanner scanFloat:&time] && [scanner scanFloat:&data] ) {
    [newPoints addObject:
    [NSMutableDictionary dictionaryWithObjectsAndKeys:
            [NSNumber numberWithFloat:time], @"time",
            [NSNumber numberWithFloat:data], @"data",
             nil]];
}
self.dataForPlot = newPoints;

Il semble que mon code ne pourrait pas lire les données depuis un fichier csv.
(il y a deux cols de données dans ECG_Data.csv, un pour le temps et l'autre pour les données)
Quelqu'un peut-il me donner des suggestions???
Merci!!!!

  • Où est-elle défaillante? Êtes-vous d'obtenir une erreur/exception? Est la boucle en cours d'exécution à tous?
InformationsquelleAutor Ni. | 2010-03-11