LTSV (Labeled Tab Separeted Value) reader/writer for Go.
package main
import (
"bytes"
"fmt"
"github.com/ymotongpoo/goltsv"
)
func main() {
data := `
egg:たまご ham:ハム bread:パン
gyoza:ぎょうざ ramen:ラーメン sushi:すし yakiniku:焼肉
yamanashi:山梨 tokyo:東京 okinawa:沖縄 hokkaido:北海道
`
b := bytes.NewBufferString(data)
// Read LTSV file into map[string]string
reader := goltsv.NewReader(b)
records, err := reader.ReadAll()
if err != nil {
panic(err)
}
// dump
for i, record := range records {
fmt.Printf("===== Data %d\n", i)
for k, v := range record {
fmt.Printf("\t%s --> %s\n", k, v)
}
}
}
package main
import (
"bytes"
"github.com/ymotongpoo/goltsv"
)
func main() {
data := []map[string]string {
{"Python": "3.3.0", "Ruby": "2.0 rc2", "Perl": "5.16.2"},
{"spam": "foo", "egg": "bar", "ham": "buz"},
{"sauce": "ソース", "salt": "しお", "sugar": "さとう", "vinegar": "す"},
}
b := &bytes.Buffer{}
writer := goltsv.NewWriter(b)
err := writer.WriteAll(data)
if err != nil {
panic(err)
}
fmt.Printf("%v", b.String())
}
This packages is distributed under conditions of New BSD License