iphone - 如何将核心数据导出到 CSV

标签 iphone ios xcode core-data export-to-csv

我想使用 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/

相关文章:

ios - popToViewController 首先执行

ios - 什么时候可以使用@IBOutlets?

ios - 哪个 NSCharacterSet 描述了在 tel : URL? 中有效的字符

iphone - NSCollectionView for Cocoa-Touch (iPhone/iPad)

iphone - 如何将 plist 保存到 NSUserDefaults

iphone - 如何打开 iPhone 的默认浏览器?

iphone - 如何根据存储在其中的NSString重新排序NSMutable数组?

xcode - 限制输入字段中的字符

php - 如何通过paypal页面传递一个名为 "customer_id"的变量名?

ios - Obj-C - Xcode 控制台中的 TIC 读取状态?