导入.csv格式的数据到一个数组 [英] Import .csv data into a array

查看:299
本文介绍了导入.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆