如何从CSV文件中读取第一列数据并将其与用户输入进行比较?

时间:2012-08-28 21:55:29

标签: iphone ios xcode ipad csv

我正在开发一个应用程序,用户可以将csv文件上传到app的文档文件夹(我完成了它)。但我想给应用程序中的用户提供一个文本字段,并要求他们输入一个ID号,这个号码将与上传的csv文件第一列一起检查。如果匹配,则显示一条警告,说明它找到了匹配,否则就没有。

1 个答案:

答案 0 :(得分:1)

我认为csv文件是包含逗号分隔列和换行(\ n)分隔行的文本文件。因此,搜索每一行的第一个列元素的一种方法是使用NSString的方法componentsSeparatedByString:。

编辑:将csv文件加载到NSString实例中。

NSString * pstrCSVFilePath= [[NSBundle mainBundle] pathForResource:@"CSVFile" ofType:@""]
NSString * pstrCSVFile= [NSString stringWithContentsOfFile:pstrCSVFilePath encoding:NSASCIIStringEncoding error:NULL];

NSArray * paRowsOfCSVFile= [pstrCSVFile componentsSeparatedByString:@"\n"];
NSArray * paColumnsOfRow;
NSString * pstrFirstColumn;
for(NSString * pstrRow in paRowsOfCSVFile)
{
    paColumnsOfRow= [pstrRow componentsSeparatedByString:@","];
    pstrFirstColumn= [paColumnsOfRow objectAtIndex:0];
    if([pstrFirstColumn localizedCaseInsensitiveCompare:myTextField.text] == NSOrderedSame)
    {
         //Found the search string in the CSV file. 
         break;
    }
}