CSV文件查找 - 目标C.

时间:2012-05-25 11:56:34

标签: objective-c database cocoa csv indexing

我有一个file.csv文件,其中包含超过180,000行。我需要从它中挑选出大约8行。这些行中的每一行都具有相同的ID,因此这就是文件的样子:

"id", "name", "subid"
"1", "Entry no 1", "4234"
"1", "Entry no 2", "5233"
"1", "Entry no 3", "2523"
. . . 
"1", "Entry no 8", "2322"
"2", "Entry no 1", "2344"

有没有办法让我可以选择id为1或其他数字的所有数据,而无需将整个文件编入数据库(SQLITE或Core Data),因为这会导致应用程序遇到重大性能问题索引180,0000条记录。这完全适用于iPhone,并且在ios 5上。

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

只需解析CSV并将值存储在局部变量中。在教程之后通过Objective-C checkout解析CSV:
http://www.macresearch.org/cocoa-scientists-part-xxvi-parsing-csv-data
http://cocoawithlove.com/2009/11/writing-parser-using-nsscanner-csv.html

亲切的问候,

答案 1 :(得分:2)

我强烈建议将它放在Core Data中,确定它会被编入索引但这实际上是一件好事,因为你的查找速度会更快,每次解析该文档的要求都比查找它要高得多核心数据,开销是一个很小的代价。

答案 2 :(得分:1)

Dave DeLong的CHCSVParser听起来不错。

它有点像NSXMLParser,所以你可以跳过你不想要的所有行,并保留想要的8行。