У меня есть CSV-файл, в котором хранятся 3 значения - название города вместе с названием штата, значениями долготы и широты.
Примерные данные, которые отображаются при открытии с помощью Excel, будут такими: Бостон, Массачусетс., 411.932, 73
Первая проблема, с которой я сталкиваюсь, заключается в том, что когда я копирую файл csv в папку проекта xcode, xcode отображает данные файла как «Albany, NY», 397.898,73, добавляя «» кпервый столбец данных.
Вторая проблема, с которой я сталкиваюсь, заключается в том, что когда я извлекаю данные из файла csv и задаю название города в виде строки NSSt, строка показывает только Олбани, а не Олбани, Нью-Йорк
Вот чтоЯ сделал.Спасибо за вашу помощь.
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"citiesdataUsed" ofType:@"csv"];
NSString* fileContents = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
[NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSArray* pointStrings = [fileContents componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
cityList = [[NSMutableArray alloc]init];
//skip line 0 as it is the title of each column
for(int idx = 0; idx < pointStrings.count; idx++)
{
Pair *sth = [[Pair alloc] init];
// break the string down even further to the columns.
NSString* currentPointString = [pointStrings objectAtIndex:idx];
NSArray* arr = [currentPointString componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@","]];
NSString *country = [[NSString alloc] initWithFormat:@"%@", [arr objectAtIndex:0]];
NSNumber *latData = [[NSNumber alloc] initWithFloat:[[arr objectAtIndex:2] floatValue]]; //long
NSNumber *longData = [[NSNumber alloc] initWithFloat:[[arr objectAtIndex:1] floatValue]]; //lat
//convert the NSNumbers to float value
float longData2 = [longData floatValue];
float latData2 = [latData floatValue];
CGPoint temp = CGPointMake(longData2,latData2);
sth.city = country;
sth.location = temp;
[cityList addObject: sth];
[sth release];
}