读取csv文件ios [英] Read csv file ios

查看:190
本文介绍了读取csv文件ios的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个读取csv文件的问题。只显示csv文件的最后一行。
然而在我的fetchedResultsController我有2行
这是代码:

i have a problem for read a csv file. Only the last line of csv file is display. However in my fetchedResultsController i have 2 lines This is the code :

NSString * writeString;
NSInteger i = 0;
for (id object in [[self fetchedResultsController] fetchedObjects]) {
    NSString * object1 = [[object valueForKey:@"object1"] description];
    NSString * object2 = [[object valueForKey:@"object2"] description];
    NSString * object3 = [[object valueForKey:@"object3"] description];
    NSString * object4 = [[object valueForKey:@"object4"] description];
    writeString = [NSString stringWithFormat:@"%@, %@, %@, %@, \n", object1, object2, object3, object4];
    i++;
    NSLog(@"%@ - %i", writeString, i);

}


NSArray  *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* savePath = [paths objectAtIndex:0];
savePath = [savePath stringByAppendingPathComponent:@"myfile.csv"];
[writeString writeToFile:savePath atomically:YES encoding:NSUTF8StringEncoding error:NULL];
NSLog(@"%@", savePath);

NSString *fullPath = savePath;

[self readTitleFromCSV:fullPath  AtColumn:0];

和readTitleFromCSV方法:

And The readTitleFromCSV method :

-(void)readTitleFromCSV:(NSString*)path AtColumn:(int)column
{

NSMutableArray *titleArray=[[NSMutableArray alloc]init];

NSString *fileDataString=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSArray *linesArray=[fileDataString componentsSeparatedByString:@"\n"];


int k=0;
for (id string in linesArray)
    if(k<[linesArray count]-1){

        NSString *lineString=[linesArray objectAtIndex:k];
        NSArray *columnArray=[lineString componentsSeparatedByString:@","];
        [titleArray addObject:[columnArray objectAtIndex:column]];
        k++;

    }

NSLog(@"%@",titleArray);

}

感谢您的帮助。

推荐答案

尝试使用NSMutableString,而不是NSString:

Try to use NSMutableString instead of NSString:

NSMutableString *writeString = [NSMutableString string];

然后在for循环中:

[writeString appendString:[NSString stringWithFormat:@"%@, %@, %@, %@, \n", object1, object2, object3, object4]];

这篇关于读取csv文件ios的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆