Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 读取.CSV中的单个值_Ios_Objective C_Csv_Nsobject - Fatal编程技术网

Ios 读取.CSV中的单个值

Ios 读取.CSV中的单个值,ios,objective-c,csv,nsobject,Ios,Objective C,Csv,Nsobject,我在下面有一个.CSV文件,它已经被转换成一个很好的格式,而不是一个完整的值列表 我怎样才能从这个列表中读取单个值…例如“5和6的时间”并返回数字 我知道如何从列出的一个普通的.csv文件中检索这个文件,但不是从一个像这样布局怪异的文件中检索。有什么想法吗 感谢如果列标题(如“时间4”和“时间5&6”)一致,您可以将每行分隔开,然后用逗号分隔,查找列标题的索引,然后在下一行中获取相同的列。 我尚未对此进行测试,但我认为它应该可以工作。假设您的文件是以字符串形式读入的: NSArray *com

我在下面有一个.CSV文件,它已经被转换成一个很好的格式,而不是一个完整的值列表

我怎样才能从这个列表中读取单个值…例如“5和6的时间”并返回数字

我知道如何从列出的一个普通的.csv文件中检索这个文件,但不是从一个像这样布局怪异的文件中检索。有什么想法吗

感谢

如果列标题(如“时间4”和“时间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];
NSArray*componentsByLine=[myFile componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
int firstIndex=0;
int secondIndex=0;
BOOL-found=NO;
for(firstIndex=0;firstIndex
未完成CSV解析,但从人类可读或机器可读的角度来看,这可能会对您有所帮助吗?显示实际的CSV/解析内容日志。您有多大进展?它有什么错?它的格式是人类可读的,但它也需要机器可读,以便生成报告。到目前为止,我只有想法。这在包括可能从数组索引中获取值。但是如果有更多的时间,布局结构可能会改变长度。所以我不确定最佳方法。