func NewCSVPrinter(csvWriter *csv.Writer, noHeader bool) *CSVPrinter {
	return &CSVPrinter{
		csvWriter: csvWriter,
		noHeader:  noHeader,
	}
}
NewCSVPrinter creates a new CSVPrinter.
package input
import (
	"encoding/csv"
)
type Datum struct {
	header string
	value  string
}
func NewDatum(header string) Datum {
	return Datum{header: header}
}
func (d Datum) WithValue(value string) Datum {
	d.value = value
	return d
}
type CSVPrinter struct {
	csvWriter     *csv.Writer
	headers       []string
	record        []string
	headerPrinted bool
	noHeader      bool
}