Swift:将.csv导入为字符串

时间:2015-03-08 23:24:00

标签: xcode swift csv import

我正在使用Swift导入项目中存储的 .csv 文件。但是,我总是得到错误

fatal error: unexpectedly found nil while unwrapping an Optional value

我尝试做同样的事情,但将其转换为 .txt 文件,但也失败了。但是,如果我只是将内容直接复制并粘贴到新的 .txt 文件中,则可以正常使用。我只是想把它变成一个字符串,以便我以后可以使用它。

let file = NSBundle.mainBundle().pathForResource("SL", ofType:"csv")
var text = String(contentsOfFile: file!, encoding: NSUTF8StringEncoding, error: nil)!
var rawStudents = text.componentsSeparatedByString("\n")

2 个答案:

答案 0 :(得分:2)

确保将csv文件拖到项目后,根据需要选择要复制到项目的选项。如果让我们安全地打开你的选项,你应该总是使用。

var error:NSError?
if let fileUrl = NSBundle.mainBundle().URLForResource("SL", withExtension:"csv") {
    if let text = String(contentsOfURL: fileUrl, encoding: NSUTF8StringEncoding, error: &error) {
        let rawStudents = text.componentsSeparatedByString(",")
    } else {
        println("error reading file")
        if let error = error {
            println(error.description)
        }

    }
}

答案 1 :(得分:0)

let file=NSBundle.mainBundle().pathForResource("SL", ofType:"csv")检查文件常量是否为零之后,在下一行中你强制展开潜在的nil,这是一个非常糟糕的主意。 问题可能是该文件不在捆绑包中。