arrays - 将 .csv 数据导入数组

标签 arrays macos csv import swift

我最近几年一直在使用 Objective-C。 现在我正在快速试用 Xcode 6 beta 4。

我想将 .csv 从我的网络服务器导入到数组。我在 Objective-C 中的旧代码是:

NSString *stringURL = @"https:// [URL] /versionen/versionen.csv";
NSURL  *url = [NSURL URLWithString:stringURL];
NSData *urlData = [NSData dataWithContentsOfURL:url];
if ( urlData )
{
    NSString *csvResponseString = [[NSString alloc] initWithData:urlData   encoding:NSUTF8StringEncoding];
    NSArray         *MZVersionDatenZeilen = [csvResponseString componentsSeparatedByString:@"\n"];
    NSEnumerator    *MZVersionEnumerator = [MZVersionDatenZeilen objectEnumerator];
    NSMutableArray  *MZVersionDatenArray = [NSMutableArray arrayWithCapacity:[MZVersionDatenZeilen count]];
    NSString        *MZVersionZeile;
    while (MZVersionZeile = [MZVersionEnumerator nextObject])
    {
        [MZVersionDatenArray addObject:[MZVersionZeile componentsSeparatedByString:@";"]];
    }
}

我如何在 Swift 中做到这一点? 是否有最佳实践 - 推荐?

最佳答案

每个答案都需要您安装/下载第 3 方实用程序,但如果您使用的文件非常简单或者您在一家限制第 3 方代码的公司工作,这可能不是最佳选择。

所以我想我会发布非常基本的常规 CSV 文件处理代码,人们可以将其用作基础并根据需要进行修改以实现简单的 CSV 处理。

do {
    let file = try String(contentsOf: fileUrl)
    let rows = file.components(separatedBy: .newlines)
    for row in rows {
        let fields = row.replacingOccurrences(of: "\"", with: "").components(separatedBy: ",")
        print(fields)
    }
} catch {
    print(error)
}

这将处理您知道不会将引号和逗号作为字段内容的一部分的任何 CSV 文件,在我的例子中是大多数 CSV 文件。任何比这更复杂的事情,我建议使用其他答案中发布的库之一。

我只是希望这可以节省一些打字的时间。

关于arrays - 将 .csv 数据导入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24997699/

相关文章:

arrays - 从 n 个排序数组中找到第 k 个最小的数字

ios - Xcode Swift 代码折叠/折叠

macos - launchd plist 中无法识别 LaunchEvents 键(检测 USB 设备)

powershell - 我需要对CSV文件中的数据列进行哈希处理(模糊处理)。首选脚本

c# - 使用 csvhelper 进行映射/写入协助

c++ - 使用 stringstream 和 ofstream 写长日志文件

javascript动态添加值到数组

javascript - 如何使用 jQuery 通过数组显示 JSON 对象

java - Java UDP-从服务器到客户端发送字符串数组

r - 在 R 中加载先知库时出错 - 我该如何修复它?