0
我在下面有一個.CSV文件,它已經被放入一個很好的格式,而不是一個可靠的值列表。讀入.CSV個別值
我如何將能夠從該列表讀取各個值......例如「5 & 6" 時代,並返回我知道怎麼會從正常檢索該是多少?
。所列出csv文件,但是不能從一個有一個奇怪的佈局像這樣的。任何想法?
感謝
我在下面有一個.CSV文件,它已經被放入一個很好的格式,而不是一個可靠的值列表。讀入.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];
沒有做過CSV解析,但可能這幫助您https://github.com/davedelong/CHCSVParser –
但從人類可讀,或機器的點尼斯可讀?顯示實際的CSV /解析內容日誌。你有多遠?它做錯了什麼? – Wain
它以這種格式爲人類可讀,但它的需求也是機器可讀的,以生成報告。到目前爲止,我只有想法。這包括可能從數組索引中獲取值。但是,如果有更多次數,佈局結構可能會改變長度。所以我不確定最好的方法。 – Ryan