簡體   English   中英

讀取CSV文件ios

[英]Read csv file ios

我在讀取csv文件時遇到問題。 僅顯示csv文件的最后一行。 但是在我的fetchedResultsController中,我有2行代碼:

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方法:

-(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:

NSMutableString *writeString = [NSMutableString string];

然后在for循環中:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM