Конвертировать plist в CSV файл? - PullRequest
1 голос
/ 06 декабря 2011

У меня есть файл .plist, содержащий массив и словари. Я хочу преобразовать это в файл CSV, чтобы потом загрузить его в базу данных. Кто-нибудь знает простой способ сделать это?

Ответы [ 2 ]

4 голосов
/ 06 декабря 2011

Посмотрите следующий код

  NSString* plistPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"plist"];
    NSArray *commentArray = [NSArray arrayWithContentsOfFile:plistPath];

    NSMutableString *mainString=[[NSMutableString alloc]initWithString:@""];
    for(int i=0;i<[commentArray count];i++ ) {
        NSString *string=[[commentArray objectAtIndex:i]objectForKey:@"cmtName"]; 
        string=[string stringByReplacingOccurrencesOfString:@"\"" withString:@"\"\""];
        [mainString appendFormat:@"\"%@\"",string];

        string=[[commentArray objectAtIndex:i]objectForKey:@"cmtDesc"];  
        string=[string stringByReplacingOccurrencesOfString:@"\"" withString:@"\"\""];
        [mainString appendFormat:@",\"%@\"",string];

        string=[[commentArray objectAtIndex:i]objectForKey:@"cmtType"];
        string=[string stringByReplacingOccurrencesOfString:@"\"" withString:@"\"\""];
        [mainString appendFormat:@",\"%@\"",string];

        [mainString appendFormat:@",\"%@\"",string];
        [mainString appendFormat:@"\n"];
     }


NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectoryPath  stringByAppendingPathComponent:@"Docment.conf"];


NSData* settingsData;
settingsData = [mainString dataUsingEncoding: NSASCIIStringEncoding];

if ([settingsData writeToFile:filePath atomically:YES])
    NSLog(@"writeok");

Вы также можете использовать https://github.com/davedelong/CHCSVParser для генерации CSV.

2 голосов
/ 06 декабря 2011

Дейв Делонг написал анализатор CSV, который поможет вам выполнить эту задачу. Вы можете получить больше информации об ответе, который он разместил в этом вопросе. Как преобразовать NSMutableArray в файл CSV на iPhone?

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