将地图写入CSV

垂度

我一直在尝试找出如何正确地将映射写到csv文件中而没有运气的情况。

实际上,我有一个查询sql数据库的程序,我将一个返回值存储为映射的键,然后存储一个字符串切片,用于返回与其相关的数据,例如,映射为:

var m = make(map[string][]string)

m['test1'] = [5, 4, 3]

所以将其写入csv将是

测试1、5、4、3

它像打印列表/切片一样打印到csv,我将其存储在地图中,以便更轻松地在其他地方构造动态查询。

我尝试使用for循环,例如:

for key, value := range m{
    writer.Write(key)
    writer.Write(value)
}

但出现以下错误:

不能在作者的参数中将键(字符串类型)用作类型[] string。写

我在这里进行了大量的Google搜索和搜索,但似乎找不到适当的方法。

peterSO:

包csv

func(* Writer)编写

func (w *Writer) Write(record []string) error

编写器将单个CSV记录连同任何必要的引用一起写入w。记录是一片字符串,每个字符串是一个字段。


错误:无法将键(类型string)用作[]string参数中的类型writer.Write


“我在这里做了很多谷歌搜索和搜索。”

要解决此问题,请阅读的文档Write并按照错误消息中的说明进行操作,您具有type stringWrite想要type []string例如,

for key, value := range m {
    r := make([]string, 0, 1+len(value))
    r = append(r, key)
    r = append(r, value...)
    err := writer.Write(r)
    if err != nil {
        // handle error
    }
}
writer.Flush()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章