我正在尝试使用Naoty的SwiftCSV来读取.csv文件。我通过Cocoapods成功安装了整个东西,但是当我尝试使用Github的示例代码时,示例“users.csv”文件似乎无法解析。在我的viewDidLoad()函数中,我复制了下面的所有示例代码。该项目建立并运行良好。
if let url = NSURL(string: "users.csv") {
var error: NSErrorPointer = nil
if let csv = CSV(contentsOfURL: url, 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"]
}
}
}
users.csv:
id,name,age
1,Alice,18
2,Bob,19
3,Charlie,20
我在块的末尾添加了几个println语句。这是我的输出,以及样本说我应该得到的输出。
println(headers)
输出:[](应为:[“id”,“name”,“age”])
println(names)
输出:nil(应该是:[“Alice”,“Bob”,“Charlie”])
该行
let alice = csv.rows[0]
还会使应用程序崩溃“致命错误:数组索引超出范围”,除非我将其注释掉。与Bob相同。
我做错了什么?