在Swift 4.2中,可以使用以下灵活的代码来构建CSV字符串:
import Foundation
func buildCSVString(data: [[String]]) -> String {
var csvString = ""
for row in data {
var rowString = ""
for (index, value) in row.enumerated() {
let escapedValue = value.replacingOccurrences(of: "\"", with: "\"\"")
let field = "\"\(escapedValue)\""
if index != row.count - 1 {
rowString += "\(field),"
} else {
rowString += "\(field)\n"
}
}
csvString += rowString
}
return csvString
}
let data = [["Name", "Age", "City"],
["John Doe", "25", "New York"],
["Jane Smith", "30", "San Francisco"],
["Bob Johnson", "35", "Chicago"]]
let csvString = buildCSVString(data: data)
print(csvString)
这段代码定义了一个buildCSVString
函数,它接受一个二维字符串数组作为输入数据,并返回一个构建好的CSV字符串。
在函数内部,我们使用两个嵌套的循环来遍历输入数据。外层循环迭代每一行数据,内层循环迭代每一行中的每个字段。
对于每个字段,我们首先对其进行转义处理,将双引号替换为两个双引号,以避免CSV中的特殊字符问题。然后,我们将字段用双引号括起来,并根据是否为最后一个字段来决定是否添加逗号分隔符。
最后,我们将每一行的字符串拼接到CSV字符串中,并在每行末尾添加换行符。
使用示例数据,我们可以调用buildCSVString
函数并打印结果:
"Name","Age","City"
"John Doe","25","New York"
"Jane Smith","30","San Francisco"
"Bob Johnson","35","Chicago"
这段代码可以用于构建CSV字符串,适用于需要将数据导出为CSV格式的场景,例如数据分析、报表生成等。
腾讯云提供了云计算相关的产品和服务,例如云服务器、云数据库、云存储等。你可以在腾讯云官网上查找相关产品和产品介绍的详细信息。
领取专属 10元无门槛券
手把手带您无忧上云