2017-04-14 65 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?

相關問題