開発環境
Xcode 13.4
iOS 15.5
Swift 5.0
オープンデータ上のCSVファイルを読み込む
ViewController.swift
// 最終的にデータを格納する配列
var fileData:[[String]] = []
// ダウンロードしたCSVファイルを保存する変数
var csvString = ""
let pathURL = NSURL(string: "(保存したいCSVファイルのリンク)")
var lineIndex = 1
do {
// ここでは文字コードをUTF8で指定
csvString = try NSString(contentsOf: pathURL! as URL, encoding: String.Encoding.utf8.rawValue) as String
} catch let error as NSError {
print(error.localizedDescription)
}
// ","区切りで配列に追加
csvString.enumerateLines { (line, stop) -> () in
self.fileData.append(line.components(separatedBy: ","))
self.lineIndex += 1
if self.lineIndex == self.fileData.count {
stop = true
}
}
encodingエラーが出る場合
読み込むCSVファイルのエンコードが異なる場合エラーが出ます。
その際はencoding: String.Encoding.utf8.rawValueの箇所を任意のエンコードに変更します。
(例) エンコードをshiftJISに変更
encoding: String.Encoding.shiftJIS.rawValue