读入.CSV个别值

时间:2014-03-31 12:33:13

标签: ios objective-c csv nsobject

我在下面有一个.CSV文件,它已经被放入一个漂亮的格式而不是一个可靠的值列表。

enter image description here

我如何能够从此列表中读取单个值...例如'Time of 5& 6“并返回号码?

我知道如何从列出的普通.csv文件中检索这个文件,但不会从具有类似这个的奇怪布局的文件中检索。有什么想法吗?

感谢

1 个答案:

答案 0 :(得分:0)

如果列标题(例如"时间4和#34;以及"时间5& 6")是一致的,您可以分隔每一行,然后用逗号分隔,查找列标题的索引,然后在下一行中抓取相同的列。 我还没有对此进行测试,但我认为它应该可行。假设您的文件是以字符串形式读入的:

NSArray *componentsByLine = [myFile componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

int firstIndex = 0;
int secondIndex = 0;
BOOL found = NO;

for(firstIndex = 0; firstIndex < componentsByLine.count; firstIndex++)
{
    NSArray *componentsByComma = [[componentsByLine objectAtIndex:firstIndex] componentsSeparatedByString:@","];

    for(secondIndex = 0; secondIndex < componentsByComma.count; secondIndex++)
    {
        if([[componentsByComma objectAtIndex:secondIndex] isEqualToString:@"Time of 5 & 6"])
        {
            found = YES;
            break;
        }

    }
    if(found)
        break;
}

float requestedTime = [[[[componentsByLine objectAtIndex:firstIndex+1] componentsSeparatedByString:@","] objectAtIndex:secondIndex] floatValue];