1

我有一个包含超过 180,000 行的 file.csv 文件。我只需要从中挑选出大约 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 或核心数据)中,因为这会导致应用程序必须索引 180 的主要性能问题,0000 条记录。这一切都适用于 iPhone,并且在 ios 5 上。

谢谢您的帮助。

4

3 回答 3

2

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

亲切的问候,

于 2012-05-25T12:01:22.993 回答
2

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

于 2012-05-25T12:07:00.743 回答
1

对于 Dave DeLong 的CHCSVParser 来说,这听起来不错。

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

于 2012-05-25T12:15:03.263 回答