func loadCSV(fileName:String) -> [String] {
let csvBundle = Bundle.main.path(forResource: fileName, ofType:"csv")!
do{
let csvData = try String(contentsOfFile: csvBundle,encoding:String.Encoding.utf8 )
let lineChange = csvData.replacingOccurrences(of: "\r", with: "\n")
csvArray = lineChange.components(separatedBy: "\n")
csvArray.removeLast()
}catch{
print("エラー")
}
return csvArray
}
loadCSV関数は引数で受け取ったfileNameを元にcsv内も文字列を改行を一つの単位として配列に納めて返す。
let csvBundle = Bundle.main.path(forResource: fileName, ofType:"csv")!
ファイルネームを元にcsvファイルを読み込む。
csvBundleには対象ファイルのフルパスが格納されている。
let csvData = try String(contentsOfFile:csvBundle,encoding:String.Encoding.utf8 )
対象ファイルの中身を取得する。
csvDataにはファイルの記述内容が入る。
let lineChange = csvData.replacingOccurrences(of: "\r", with: "\n")
改行に\rが使われていれば\nに書き換える。
csvArray = lineChange.components(separatedBy: "\n")
\nの改行コードを区切りに配列にぶちこむ
csvArray.removeLast()
リストの一番最後の配列を削除CSVファイルの構造上配列が無駄に作られてしまう
ex)
1 あいうえお\n
2 かきくけこ\n
3 さしすせそ\n
4 たちつてと\n
5 なにぬねの\n
6\n