我一直在尝试找出如何正确地将映射写到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搜索和搜索,但似乎找不到适当的方法。
func (w *Writer) Write(record []string) error
编写器将单个CSV记录连同任何必要的引用一起写入w。记录是一片字符串,每个字符串是一个字段。
错误:无法将键(类型
string
)用作[]string
参数中的类型writer.Write
“我在这里做了很多谷歌搜索和搜索。”
要解决此问题,请阅读的文档Write
并按照错误消息中的说明进行操作,您具有type string
,Write
想要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] 删除。
我来说两句