NTYCSVTable 通过 CocoaPods 提供,要安装它,只需将以下行添加到您的 Podfile 中
platform :ios
pod "NTYCSVTable"
例如,如果您想解析下面的 users.csv
id,name,age
1,Alice,18
2,Bob,19
3,Charlie,20
您可以通过这种方式按行和列访问数据。
NSURL *csvURL = [NSURL URLWithString:@"users.csv"];
NTYCSVTable *table = [NTYCSVTable alloc] initWithContentsOfURL:csvURL];
// Rows
NSArray *rows = table.rows;
NSArray *headers = table.headers; //=> @[@"id", @"name", @"age"]
NSDictionary *alice = table.rows[0]; //=> @{@"id": @1, @"name": @"Alice", @"age": @18}
NSDictionary *bob = table.rows[1]; //=> @{@"id": @2, @"name": @"Bob", @"age": @19}
// Columns
NSDictionary *columns = table.columns;
NSArray *names = table.columns[@"name"]; //=> @[@"Alice", @"Bob", @"Charlie"]
NSArray *ages = table.columns[@"age"]; //=> @[@18, @19, @20]
此外,您还可以查找具有指定标题指定值的行,如下所示。
[table rowsOfValue:@1 forHeader:@"id"]; //=> @[@{@"id": @1, @"name": @"Alice", @"age": @18}]
[table rowsOfValue:@20 forHeader:@"age"] //=> @[@{@"id": @3, @"name": @"Charlie", @"age": @20}]
您可以使用 initWithContentsOfURL:columnSeparator:
解析其他格式,例如 TSV。
NSURL *tsvURL = [NSURL URLWithString:@"users.tsv"];
NTYCSVTable *table = [[NTYCSVTable alloc] initWithContentsOfURL:tsvURL columnSeparator:@"\t"];