SwiftでCSV形式の文字列を作成するためのメモ。
カンマが入ったデータにも対応させる。
編集前Ver・・・
var csvData = [
["1,234", "222", "hoge", "aaa,bbb,ccc", "1,000,000"],
[1_000_000, 2, 3, 4, 5.555],
]
var s = ""
for a in csvData {
for aa in a {
s += "\"\(aa)\","
}
s = s.substringToIndex(s.startIndex.advancedBy(s.characters.count - 1))
s += "\n"
}
s = s.substringToIndex(s.startIndex.advancedBy(s.characters.count - 1))
print(s)
編集後シンプルVer
var csvData = [
["1,234", "222", "hoge", "aaa,bbb,ccc", "1,000,000"],
[1_000_000, 2, 3, 4, 5.555],
]
var s = csvData.map { $0.map { "\"\($0)\"" }.joinWithSeparator(",") }.joinWithSeparator("\n")
print(s)
結果
"1,234","222","hoge","aaa,bbb,ccc","1,000,000"
"1000000","2","3","4","5.555"