Objective-C

[Objective-C] CSV ファイルを読み込んで解析する

CSV ファイルを読み込んで解析(パース)するサンプルコードです。デスクトップ上に置かれた、test.csv ファイルを読み込んで、行と列を処理しています。

ここでは、改行文字区切り、コンマ区切りの CSV を想定しています。データにコンマが入っている場合などは考慮していません。

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        // UTF8 エンコードされた CSV ファイル
        NSString *filePath = @"/Users/rakuishi/Desktop/test.csv";
        NSString *text = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
        
        // 改行文字で区切って配列に格納する
        NSArray *lines = [text componentsSeparatedByString:@"\n"];
        NSLog(@"lines count: %ld", lines.count);    // 行数
        
        for (NSString *row in lines) {
            // コンマで区切って配列に格納する
            NSArray *items = [row componentsSeparatedByString:@","];
            NSLog(@"%@", items);
        }
    }
    return 0;
}