Popularity
0.6
Stable
Activity
0.0
-
5
1
0

Programming language: Go
Latest version: v0.3.1

ltsv alternatives and similar packages

Based on the "Specific Formats" category

Do you think we are missing an alternative of ltsv or a related project?

Add another 'Specific Formats' Package

README

ltsv

License Build Status Go Report Card codecov GoDoc

High performance LTSV (Labeled Tab Separeted Value) parser for Go.

About LTSV: http://ltsv.org/

Labeled Tab-separated Values (LTSV) format is a variant of 
Tab-separated Values (TSV). Each record in a LTSV file is represented 
as a single line. Each field is separated by TAB and has a label and
 a value. The label and the value have been separated by ':'. With 
the LTSV format, you can parse each line by spliting with TAB (like 
original TSV format) easily, and extend any fields with unique labels 
in no particular order.

Installation

go get github.com/Wing924/ltsv

Examples

package main

import (
    "fmt"
    "github.com/Wing924/ltsv"
)

func main() {
    line := []byte("foo:123\tbar:456")
    record, err := ltsv.ParseLineAsMap(line, nil)
    if err != nil {
        panic(err)
    }
    fmt.Printf("%#v", record) // map[string]string{"foo":"123", "bar":"456"}
}

Benchmarks

Benchmark against

Source code: bench/line_test.go.

Result

$ go test -bench . -benchmem
goos: darwin
goarch: amd64
pkg: github.com/Wing924/ltsv/bench
Benchmark_line_Wing924_ltsv-4            2000000           626 ns/op         224 B/op         17 allocs/op
Benchmark_line_Wing924_ltsv_strict-4     2000000           788 ns/op         224 B/op         17 allocs/op
Benchmark_line_Songmu_goltsv-4            300000          3975 ns/op        1841 B/op         32 allocs/op
Benchmark_line_ymotongpoo_goltsv-4        500000          2286 ns/op        5793 B/op         17 allocs/op
Benchmark_line_najeira_ltsv-4             300000          4896 ns/op        5529 B/op         26 allocs/op
PASS
ok      github.com/Wing924/ltsv/bench   8.245s


*Note that all licence references and agreements mentioned in the ltsv README section above are relevant to that project's source code only.