Импорт данных в основные данные из файла CSV на сервере - PullRequest
0 голосов
/ 02 марта 2012

Я пытаюсь прочитать данные из файла CSV, который находится на сервере. Этот файл содержит очень большой объем данных. В настоящее время я читаю этот файл, используя NSURLREQUEST, как показано ниже:

 -(void)serverConnect{
      NSMutableURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://spider90.dyndns.org:8080/sid/test.csv"] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:15.0];

      NSURLConnection *connection= [[NSURLConnection alloc] initWithRequest:request delegate:self];

  }

-(void)connection :(NSURLConnection *) connection didReceiveData:(NSData *)data{

       response = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

       NSString *stripped1 = [response stringByReplacingOccurrencesOfString:@"\r" withString:@""];

       NSMutableArray *rows = [NSMutableArray arrayWithArray:[stripped1 componentsSeparatedByString:@"\n"]];
       NSMutableArray *contentArray = [NSMutableArray array];
       NSMutableArray *contentArray1 = [NSMutableArray array];
       NSArray *components;
       NSString *startpoint;

       for (int i=0;i<[rows count]; i++) {

           if(i == 0 || [[rows objectAtIndex:i] isEqualToString:@""]){
               continue;
             }
           components = [[rows objectAtIndex:i] componentsSeparatedByString:@","];

         if(i == 1){

           startpoint = [components objectAtIndex:0];

           NSLog(@"startpoint:%@",startpoint);

        }


       id x = [components objectAtIndex:0] ;
       id y = [components objectAtIndex:1];
       id z = [components objectAtIndex:2];

      [contentArray addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:x,@"X",y,@"Y", nil]];
      [contentArray1 addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:x,@"X",z,@"Y", nil]];
      NSLog(@"Contents of Uterus Contraction: %@",contentArray);
      NSLog(@"Contents of Heart Beat: %@",contentArray1);

}
      [_graphHostingView setContentSize:CGSizeMake(2000, 1000)];
       _graphHostingView.scrollEnabled = YES;
       _graphHostingView.showsHorizontalScrollIndicator = YES;
       _graphHostingView.showsVerticalScrollIndicator = YES;
       _graphHostingView.userInteractionEnabled = YES;

       self.scatterPlot = [[TUTSimpleScatterPlot alloc] initWithHostingView:_graphHostingView andData:contentArray andString:startpoint];
       self.scatterPlot1 = [[TUTSimpleScatterPlot alloc] initWithHostingView:_graphHostingView andData:contentArray1 andString:startpoint];
       [self.scatterPlot plot1];
       [self.scatterPlot1 plot2];

}

Когда я попытался прочитать этот файл, я закончил с этой ошибкой: Завершение приложения из-за необработанного исключения 'NSRangeException', причина: '* - [NSMutableArray objectAtIndex:]: индекс 1 за пределами [0 .. 0] '.

Мне предложили попробовать использовать основные данные для хранения данных из файла. Проблема заключается в файле. Он обновляется в реальном времени, и мне нужно вернуться к предыдущему значению, которое я добавил из файла в базу данных. Есть ли какие-либо предложения, которые могут направить меня к тому, что я ищу? Диапазон данных составляет около 21K плюс строки данных. http://imgur.com/UluaC - пример скриншота данных.

1 Ответ

0 голосов
/ 29 марта 2012

У меня недостаточно очков репутации, чтобы комментировать, но я предполагаю, что одна или несколько строк пустые, поэтому, хотя компоненты - это NSArray, а не NSMutableArray, пустые строки в файле вызывают проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...