golang读取csv
github地址:https://github.com/artonge/go-csv-tag/tree/master
package program
import (
"fmt"
csvtag "github.com/artonge/go-csv-tag/v2"
"testing"
)
type Demo struct { // A structure with tags
Uid string `csv:"header1"`
Number string `csv:"header2"`
Grade string `csv:"header3"`
}
func Test_csv_reader(t *testing.T) {
tab := []Demo{}
err := csvtag.LoadFromPath(
"/Users/zhaohongfeng/Downloads/valid.csv",
&tab, csvtag.CsvOptions{Header: []string{"header1", "header2", "header3"}})
fmt.Println(err)
fmt.Println(tab)
}
func TestNoHeader(t *testing.T) {
tabT := []Demo{}
err := csvtag.LoadFromPath(
"/Users/zhaohongfeng/Downloads/hash.csv",
&tabT,
csvtag.CsvOptions{Header: []string{"header1", "header2", "header3"}})
fmt.Println(err)
fmt.Println(tabT)
}