我最近几年一直在使用 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/