2017-04-14 40 views
1

我可以连接2个csv列成一个单一的结构成员Go CSVGoCSV:将2个csv列连接成一个结构成员

CSV格式就是这样。

colA, date, time, colB 
A1, 2017-04-14, 09:50:10, B1 
A2, 2017-04-14, 09:50:20, B2 

我想这个CSV映射到结构

type MyStruct struct { 
    ColA  string `csv:"colA"` 
    DateTime string // <- like "2017-04-14 09:50:10" 
    ColB  string `csv:"colB"` 
} 

我怎样才能做到这一点与去CSV或走另一条路?

回答

1

(a)我不认为有这样的支持方式。但是,您可以可以实现自定义阅读器,将字段合并到彼此。相当专有,我不会推荐它。 (b)为什么不简单地向MyStruct添加一个返回合并值的方法?

type MyStruct struct { 
    ColA  string `csv:"colA"` 
    ColB  string `csv:"colB"` 
    ColC  string `csv:"colC"` 
} 

func (m MyStruct) dateTime() string { 
    return ColB+ColC 
} 

(c)也许在解析之前使用一点shell-fu预处理CSV?

相关问题