我一直在尝试解析 CSV 文件,而且我已经快成功了。我已经使用以下代码将其转换为多维字符串数组:
let path = Bundle.main.url(forResource: "BaseballSimStats", withExtension: "csv")
var file = String()
do {
file = try String(contentsOf: path!)
print(file)
} catch {
print(error)
}
let stringarray = file.components(separatedBy: "\n").map{ $0.components(separatedBy: ",") }
现在最后一步是将其转换为 Double。我正在使用这段代码:
probs = Double[[stringarray]]
我收到一条错误消息,指出该类型没有下标错误。我删除了下标引用,错误就消失了。为什么会出现此错误以及如何消除它?谢谢!
最佳答案
我使用.map()
将字符串映射到Double,这应该适用于嵌套数组
var strArray = [["1.00000","1.10000"],["2.00000","2.10000"]]
var doubleArray = strArray.map { (arr: Array) -> Array<Any> in
return arr.map({ (value: String) -> Double in
return Double(value)!
})
}
print(strArray)
print(doubleArray)
我不确定是否需要双 map 。
我不是一个快速大师,但这段代码应该可以帮助你实现你想要的..
关于ios - 将多维字符串数组转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45724773/