csv - 将多行字符串写入 CSV 文件

标签 csv go

如何使用 encoding/csv 包将多行值写入 CSV 文件?

fh, err := os.Create(fileName)
if err != nil {
    log.Fatalf("Could not create file: %v", err)
}
defer fh.Close()
w := csv.NewWriter(fh)

normalValue := "I am a single line value"
multiValue := []string{"I am a ", "multi line value"}

w.Write([]string{normalValue, multiValue})

我希望在生成的 CSV 文件中得到的结果:

I am a single line value,"I am a 
multi line value"

我怎么能意识到这一点,因为 csv.Write 不接受 []string 作为参数?简单地在多行值的每个元素之间附加 \n 也没有任何效果。

最佳答案

您需要在多行值中嵌入 \n。例如,您可以使用 strings.Join 来执行此操作:

w.Write([]string{
    normalValue,
    strings.Join(multiValue, "\n"),
})

https://play.golang.org/p/uWJnClpQ1OT

关于csv - 将多行字符串写入 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49983877/

相关文章:

powershell - 使用CSV作为系统名称的多个位置的Powershell复制项目

python - 使用 Python 保存从 Facebook 收集的评论的最佳方法是什么?

firebase - 在将用户添加到 Firebase 时从 Go 管理后端获取消息 token ,在 Javascript 中注册时结束

go - 路由器中的过滤模式

go - Go如何在G-WAN上运行?

C 在csv文件中写入1024行后的数据

Python 读取带有双引号元素和引号行的 CSV

java - 使用 opencsv (java) 读取 .csv 文件时跳过空行

go - 如何以编程方式确定 pod 是否处于 crashloopbackoff 状态

go - 代理处理函数中 []byte 的字符串表示形式