Преобразование файла CSV в NSArray из NSDictionaries - PullRequest
2 голосов
/ 22 августа 2011

У меня есть CSV-файл с данными, структурированными следующим образом:

40.697776, -73.973605, "1 CARLTON AVENUE, БРУКЛИН, НЬЮ-ЙОРК,"

40.812784, -73.952996, "1 CONVENTAVENUE, MANHATTAN, NEW YORK, "

Я хотел бы преобразовать каждую строку в NSDictionary с NSArray, содержащим все словари.Я хотел бы, чтобы ключи были широта, долгота, адрес.

Я новичок в цели c, поэтому у меня есть некоторые проблемы, чтобы понять это.Любая помощь будет принята с благодарностью.

1 Ответ

4 голосов
/ 22 августа 2011

Нет ничего, что сделает это автоматически. Вам нужно будет использовать существующий csv parser или написать свой собственный. Начните с пустого NSMutableArray, затем переберите все строки в файле CSV. Для каждой строки начните с NSMutableDictionary и добавляйте значения по одному. Когда строка закончится, добавьте NSMutableDictionary в конец NSMutableArray. Код будет выглядеть примерно так, как показано ниже, но это действительно зависит от того, какой CSV-парсер вы используете:

NSMutableArray* allRows = [NSMutableArray array];

//how this loop is actually done depends on your CSV parser
//if it's a SAX style parser, then it won't even be a loop, it will be a callback
for(every row in the CSV file) { 
   //how you get these three fields also depends on your CSV parser
   NSNumber* firstField = ?; 
   NSNumber* secondField = ?; 
   NSString* thirdField = ?; 

   NSMutableDictionary* row = [NSMutableDictionary dictionary];
   [row setObject:firstField forKey:@"latitude"];
   [row setObject:secondField forKey:@"longitude"];
   [row setObject:thirdField forKey:@"address"];
   [allRows addObject:row];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...