2

この csv ファイルを読み取る方法を教えてください。

CSV出力

"^GSPC",1403.36,"4/27/2012","4:32pm",+3.38,1400.19,1406.64,1397.31,574422720 "^IXIC",3069.20,"4/27/2012","5:30pm ",+18.59,3060.34,3076.44,3043.30,0

ViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSString *absoluteURL = @"http://myserver/data.csv";
    NSURL *url = [NSURL URLWithString:absoluteURL];
    NSString *fileString = [[NSString alloc] initWithContentsOfURL:url];
    NSScanner *scanner = [NSScanner scannerWithString:fileString];
    [scanner setCharactersToBeSkipped:
    [NSCharacterSet characterSetWithCharactersInString:@"\n, "]];
    NSMutableArray *newPoints = [NSMutableArray array];

}
4

2 に答える 2

2

CSV 解析の処理は、引用符で囲まれた区切り記号を無視する必要があるため、最初のコードが示すよりもかなり複雑です。例えば、

1,"Hello, world!",2

3 つの列がありますが、NSScanner4 つのトークン ( 1"Hello、「world!」、および2) が見つかります。

フル機能の CSV パーサーを構築するには、多くの特殊なケースを処理する必要があるため、それを機能させる最速の方法は、事前に構築されたものを使用することです。たとえば、Stack Overflow のこの回答で説明されているパーサーを使用できます。

于 2012-04-28T14:21:25.877 に答える