我想使用 CHCSVParser
将我的核心数据导出到 CSV。我知道如何从实体中获取所有值,但我不知道如何写入 CSV。
谁能教我如何使用 CHCSVParser
写入 CSV 文件?
// Test listing all Infos from the store
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"NoteLog" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
for (NoteLog *noteInfo in fetchedObjects) {
NSLog(@"Name: %@", noteInfo.city );
NSLog(@"Name: %@", noteInfo.country);
NSLog(@"Name: %@", noteInfo.datetime);
NSLog(@"Name: %@", noteInfo.notelatitude);
NSLog(@"Name: %@", noteInfo.notelongtitude);
NSLog(@"Name: %@", noteInfo.state);
NSLog(@"Name: %@", noteInfo.text);
}
最佳答案
CHCSVWriter
有几种构造 CSV 文件的方法:
-writeField:
接受对象并将其描述(在正确转义后)写入 CSV 文件。如有必要,它还会写入字段分隔符 (,)。您可以传递一个空字符串 (@"") 或 nil 来写入一个空字段。
-writeFields:
接受以逗号分隔且以 nil 结尾的对象列表,并将每个对象发送到 -writeField:。
-writeLine
用于终止当前 CSV 行。如果您不调用 -writeLine,那么您的所有 CSV 字段都将位于一行中。
-writeLineOfFields:
接受以逗号分隔且以 nil 结尾的对象列表,将每个对象发送到 -writeField:,然后调用 -writeLine。
-writeLineWithFields:
接受一组对象,将每个对象发送到 -writeField:,然后调用 -writeLine。
-writeCommentLine:
接受一个字符串并将其作为 CSV 样式的注释写到文件中。
除了写入文件外,CHCSVWriter
还可以初始化为直接写入 NSString
。
像这样的东西应该适合你。
CHCSVWriter *writer = [[CHCSVWriter alloc] initForWritingToString];
for (NoteLog *noteInfo in fetchedObjects) {
[writer writeLineOfFields:noteInfo.city, noteInfo.country, noteInfo.datetime, noteInfo.notelatitude, noteInfo.notelongtitude, noteInfo.state, noteInfo.text, nil];
}
NSLog(@"My CSV File: %@",writer.stringValue);
关于iphone - 如何将核心数据导出到 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10572172/