Skip to content

o1egl/fwencoder

Repository files navigation

Fixed width file parser (encoder/decoder) for GO (golang)

License GoDoc Build Status codecov Go Report Card

This library is using to parse fixed-width table data like:

Name Address Postcode Phone Credit Limit Birthday Evan Whitehouse V4560 Camel Back Road 3122 (918) 605-5383 1000000.5 19870101 Chuck Norris P.O. Box 872 77868 (713) 868-6003 10909300 19651203 

Install

To install the library use the following command:

$ go get -u github.com/o1egl/fwencoder 

Decoding example

Parsing data from io.Reader:

type Person struct { Name string Address string Postcode int Phone string CreditLimit float64 `json:"Credit Limit"` Bday time.Time `column:"Birthday" format:"20060102"` } f, _ := os.Open("/path/to/file") defer f.Close() var people []Person err := fwencoder.UnmarshalReader(f, &people)

You can also parse data from byte array:

b, _ := ioutil.ReadFile("/path/to/file") var people []Person err := fwencoder.Unmarshal(b, &people)

Encoding example

people := []Person{ Name: "John", Address: "P.O. Box 872", Phone: "(713) 868-6003", CreditLimit: 10909300, Bday: "19651203" } b, err := fwencoder.Marshal(&people) fmt.Println(string(b))

or you can directly write to io.Writer

people := []Person{ Name: "John", Address: "P.O. Box 872", Phone: "(713) 868-6003", CreditLimit: 10909300, Bday: "19651203" } err := fwencoder.MarshalWriter(os.Stdout, &people)

About

Fixed width file parser (encoder/decoder) in GO (golang)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages