导入.csv格式的数据到一个数组 [英] Import .csv data into a array
本文介绍了导入.csv格式的数据到一个数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的Objective-C的最后几年。
现在,我想在X code 6 beta 4版本与快捷。
I'm using Objective-C the last years. Now I'm trying the Xcode 6 beta 4 with swift.
我要导入的.csv形成我的网络服务器阵列。 Objective-C中我的老code是:
I want to import a .csv form my webserver to an array. My old code in Objective-C was:
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:@";"]];
}
}
我怎么能做到这一点的斯威夫特?
是否有一个最好的做法 - 建议?
How could I do this in Swift? Is there a best practices - recommendation?
推荐答案
有一个斯威夫特库使用CSV文件的工作。
There is a Swift library to work with CSV files .
let csvURL = NSURL(string: "users.csv")!
var error: NSErrorPointer = nil
let csv = CSV(contentsOfURL: csvURL, error: error)
// Rows
let rows = csv.rows
let headers = csv.headers //=> ["id", "name", "age"]
let alice = csv.rows[0] //=> ["id": "1", "name": "Alice", "age": "18"]
let bob = csv.rows[1] //=> ["id": "2", "name": "Bob", "age": "19"]
// Columns
let columns = csv.columns
let names = csv.columns["name"] //=> ["Alice", "Bob", "Charlie"]
let ages = csv.columns["age"] //=> ["18", "19", "20"]
编辑:
另外还有一个 CSwiftV 的项目,应该更符合标准。
In addition there is a CSwiftV project that should be more standard compliant.
let inputString = "Year,Make,Model,Description,Price\r\n1997,Ford,E350,descrition,3000.00\r\n1999,Chevy,Venture,another description,4900.00\r\n"
let csv = CSwiftV(String: inputString)
let headers = csv.headers // ["Year","Make","Model","Description","Price"]
let rows = csv.rows
// [
// ["1997","Ford","E350","descrition","3000.00"],
// ["1999","Chevy","Venture","another description","4900.00"]
// ]
这篇关于导入.csv格式的数据到一个数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文