在xcode中, csv格式的文件是一种占内存很小的文本文档,它的特点:
第三方库:
CHCSVParser。https://github.com/davedelong/CHCSVParser
您可以初始化分析器与 CSV 文件的路径 (假设你有 CHCSVParser * _parser 实例变量):
NSString *filePath = ...; // the path to your CSV file
_parser = [[CHCSVParser alloc] initWithContentsOfCSVFile:filePath];
_parser.delegate = self;
[_parser parse];
然后你应该使用三个委托方法的组合自定义解析器,使它适合您的需要︰
- (void)parser:(CHCSVParser *)parser didBeginLine:(NSUInteger)recordNumber
{
// Only parse the fields on lines 41 to 50
// _shouldParseLine is an ivar that is set to YES
// only when the fields inside the following line or lines
// should be parsed.
if (recordNumber == 41) {
_shouldParseLine = YES;
}
}
- (void)parser:(CHCSVParser *)parser didEndLine:(NSUInteger)recordNumber
{
if (recordNumber == 50) {
// The parser has finished parsing the 50th line
// We're done, cancel any further parsing.
// It is not necessary to set _shouldParseLine to NO,
// since the parser is killed here and the didReadField
// delegate method will not be called again.
[parser cancelParsing];
}
}
- (void)parser:(CHCSVParser *)parser didReadField:(NSString *)field atIndex:(NSInteger)fieldIndex
{
if (_shouldParseLine == YES) {
// Here are your fields.
// The field at index 0 consists of the text
// before the comma, the field at index 1
// consists of the text after the comma.
}
}