Generation

generate functionSun, 30 Apr 2023

async download of online csv file to get a two dimensional array named asArray

func csv(url: URL, callback: @escaping ([[String]])->()) { print("downloading \(url)") DispatchQueue.global(qos: .userInitiated).async { do { let csv = try String(contentsOf: url, encoding: .utf8) var asArray = [[String]]() var r = [String]() var data = "" var inQuote = false for c in csv { if inQuote { if c == "\"" { inQuote = false } data.append(c) } else { if c == "\"" { inQuote = true data.append(c) } else if c == "," { r.append(data) data = "" } else if c == "\n" { if data != "" { r.append(data) data = "" } if r.count > 0 { asArray.append(

Questions about programming?Chat with your personal AI assistant