gpt4 book ai didi

ios - 导入CSV数据(SDK iPhone)

转载 作者:行者123 更新时间:2023-12-01 17:24:21 25 4
gpt4 key购买 nike

对于以下代码,我可以读取字符串中的所有数据,并成功获取用于绘图的数据。

NSMutableArray *contentArray = [NSMutableArray array];
NSString *filePath = @"995,995,995,995,995,995,995,995,1000,997,995,994,992,993,992,989,988,987,990,993,989";
NSArray *myText = [filePath componentsSeparatedByString:@","];
NSInteger idx;
for (idx = 0; idx < myText.count; idx++) {
NSString *data =[myText objectAtIndex:idx];
NSLog(@"%@", data);
id x = [NSNumber numberWithFloat:0+idx*0.002777778];
id y = [NSDecimalNumber decimalNumberWithString:data];
[contentArray addObject:
[NSMutableDictionary dictionaryWithObjectsAndKeys:x, @"x", y, @"y", nil]];
}

self.dataForPlot = contentArray;

然后,我尝试从CSV文件加载数据,Data.csv文件中的数据具有与以下相同的值和相同的格式:
995,995,995,995,995,995,995,995,1000,997,995,994,992,993,992,989,988,987,990,993,989. 

我运行代码,应该给出相同的图形输出。但是,似乎无法从CSV文件成功加载数据。
我无法弄清楚我的代码出了什么问题。
NSMutableArray *contentArray = [NSMutableArray array];
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"csv"];
NSString *Data = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil ];
if (Data)
{
NSArray *myText = [Data componentsSeparatedByString:@","];
NSInteger idx;
for (idx = 0; idx < myText.count; idx++) {
NSString *data =[myText objectAtIndex:idx];
NSLog(@"%@", data);
id x = [NSNumber numberWithFloat:0+idx*0.002777778];
id y = [NSDecimalNumber decimalNumberWithString:data];
[contentArray addObject:
[NSMutableDictionary dictionaryWithObjectsAndKeys:x, @"x", y, @"y",nil]];
}
self.dataForPlot = contentArray;

}

唯一的区别是
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"csv"];
NSString *Data = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil ];
if (data){
}

我在这里做错了吗?

最佳答案

我设置了一个示例项目,并尝试了此代码,它确实有效。

错误的两个最可能的点是

  • 您没有获取文件路径(即filePath为nil)
  • 您未正确读取文件。

  • 我建议添加:
    NSLog( @"filePath: %@", filePath );

    NSLog( @"Data: %@", Data );

    并更改:
    NSString *Data = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil ];    

    to

    NSError*  error;NSString* Data = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error ];    

    and then adding:

    NSLog( @"error: %@", error );

    当然,通过调试器运行它并检查返回值也应该可以正常工作,并让您确切知道它在哪里出故障。

    关于ios - 导入CSV数据(SDK iPhone),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2444975/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com