CSVファイルの読み込み(配列格納)

CSVからデータを読みだして配列に格納する方法。

    // CSVファイルからセクションデータを取得する
    NSString *csvFile = [[NSBundle mainBundle] pathForResource:@"CSVファイル名(拡張子なし)" ofType:@"csv"];
    NSData *csvData = [NSData dataWithContentsOfFile:csvFile];
    NSString *csv = [[NSString alloc] initWithData:csvData encoding:NSUTF8StringEncoding];
    NSScanner *scanner = [NSScanner scannerWithString:csv];
    
    // 改行文字の集合を取得
    NSCharacterSet *chSet = [NSCharacterSet newlineCharacterSet];
    // 一行ずつの読み込み
    NSString *line;
    arrDetail = [[NSMutableArray alloc] init];

    //タイトル行読み飛ばしフラグ。読み込む場合はtrueにする
    bool titleUse = false; 
    while (![scanner isAtEnd]) {
        // 一行読み込み
        [scanner scanUpToCharactersFromSet:chSet intoString:&line];
        if(titleUse){
            // カンマ「,」で区切る
            NSArray *array = [line componentsSeparatedByString:@","];
            // 配列に挿入する
            [arrDetail addObject:array];
        }
        // 改行文字をスキップ
        [scanner scanCharactersFromSet:chSet intoString:NULL];
        titleUse = true;
    }

 
 
参考にさせていただいたサイト様
 http://b.ruyaka.com/2010/10/17/iphoneアプリ開発-csvファイルデータ取得/

コメントを残す

メールアドレスが公開されることはありません。