Documentation ¶
Overview ¶
table provides a struct to handle tabular data.
Index ¶
- Constants
- func ColIndexToLetters(colIndex uint32) string
- func ColNumberToLetters(colNumber uint32) string
- func CoordinateNumbersToSheetLocation(colNum, rowNum uint32) string
- func CoordinatesToSheetLocation(colIdx, rowIdx uint32) string
- func FormatDateAndFloats(val string, colIdx uint) (interface{}, error)
- func FormatMonthAndFloats(val string, colIdx uint) (interface{}, error)
- func FormatStringAndFloats(val string, colIdx uint) (interface{}, error)
- func FormatStringAndInts(val string, colIdx uint) (interface{}, error)
- func FormatStrings(val string, col uint) (interface{}, error)
- func FormatTimeAndFloats(val string, colIdx uint) (interface{}, error)
- func FormatTimeAndInts(val string, colIdx uint) (interface{}, error)
- func ReadCSVFileSingleColumnValuesString(filename string, sep rune, hasHeader bool, col uint, condenseUniqueSort bool) ([]string, error)
- func ReadCSVFilesSingleColumnValuesString(files []string, sep rune, hasHeader bool, col uint, condenseUniqueSort bool) ([]string, error)
- func SimpleTable(table Table) string
- func StreamSimpleTable(qw422016 *qt422016.Writer, table Table)
- func WriteCSVSimple(cols []string, rows [][]string, filename string) error
- func WriteSimpleTable(qq422016 qtio422016.Writer, table Table)
- func WriteXLSX(path string, tables ...*Table) error
- func WriteXLSXInterface(filename string, sheetdatas ...SheetData) error
- type Column
- type ColumnSet
- type Columns
- func (cols Columns) Index(colName string) int
- func (cols Columns) MustRowVal(colName string, row []string) string
- func (cols Columns) MustRowVals(colNames []string, row []string) []string
- func (cols Columns) RowMap(row []string, omitEmpty bool) map[string]string
- func (cols Columns) RowVal(colName string, row []string) (string, error)
- func (cols Columns) RowValFloat64(colName string, row []string) (float64, error)
- func (cols Columns) RowValInt(colName string, row []string) (int, error)
- func (cols Columns) RowValTime(colName, timeFormat string, row []string) (time.Time, error)
- func (cols Columns) RowVals(colNames []string, row []string) ([]string, error)
- type SheetData
- type Table
- func FormatStraightToTabular(tbl Table, colCount uint) (Table, error)
- func NewTable(name string) Table
- func ParseBytes(data []byte, delimiter rune, hasHeaderRow bool) (Table, error)
- func ParseReader(reader io.Reader, delimiter rune, hasHeaderRow bool) (Table, error)
- func ReadFile(filename string, comma rune, hasHeader bool) (Table, error)
- func ReadFiles(filenames []string, comma rune, hasHeader bool) (Table, error)
- func (tbl *Table) ColumnSumFloat64(colIdx uint) (float64, error)
- func (tbl *Table) ColumnValues(colIdx uint, dedupeValues, sortResults bool) ([]string, error)
- func (tbl *Table) ColumnValuesDistinct(colIdx uint) (map[string]int, error)
- func (tbl *Table) ColumnValuesForColumnName(colName string, dedupeValues, sortValues bool) ([]string, error)
- func (tbl *Table) ColumnValuesMinMax(colIdx uint) (string, string, error)
- func (tbl *Table) ColumnsValuesDistinct(wantCols []string, stripSpace bool) (map[string]int, error)
- func (tbl *Table) FilterRecordsColumnValues(wantColNameValues map[string]string) ([][]string, error)
- func (tbl *Table) FormatterFunc() func(val string, colIdx uint) (interface{}, error)
- func (tbl *Table) IsWellFormed() (isWellFormed bool, columnCount uint)
- func (tbl *Table) LoadMergedRows(data [][]string)
- func (tbl *Table) NewTableFilterColDistinctFirst(colIdx int) *Table
- func (tbl *Table) NewTableFilterColumnValues(wantColNameValues map[string]string) (Table, error)
- func (tbl *Table) ToDocuments() []map[string]interface{}
- func (tbl *Table) ToHTML(escapeHTML bool) string
- func (tbl *Table) ToSliceMSS() []map[string]string
- func (tbl *Table) Unmarshal(funcRow func(row []string) error) error
- func (tbl *Table) UpsertRowColumnValue(rowIdx, colIdx uint, value string)
- func (tbl *Table) WriteCSV(path string) error
- func (tbl *Table) WriteJSON(path string, perm os.FileMode, jsonPrefix, jsonIndent string) error
- func (tbl *Table) WriteXLSX(path, sheetname string) error
- type TableSet
- type TabulatorColumn
- type TabulatorColumnSet
Constants ¶
const ( ExcelMaxColCount = 16384 ExcelMaxRowCount = 1048576 Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ZZ = uint32(702) ZZIndex = uint32(701) )
const ( FormatFloat = "float" FormatInt = "int" FormatString = "string" FormatTime = "time" StyleSimple = "border:1px solid #000;border-collapse:collapse" )
Variables ¶
This section is empty.
Functions ¶
func ColIndexToLetters ¶
func ColNumberToLetters ¶
func CoordinateNumbersToSheetLocation ¶
CoordinateNumbersToSheetLocation converts x, y integer coordinates to a spreadsheet location such as "AA1" for col 27, row 1.
func CoordinatesToSheetLocation ¶
CoordinatesToSheetLocation converts x, y integer coordinates to a spreadsheet location such as "AA1" for col 27, row 1.
func FormatDateAndFloats ¶ added in v1.3.0
func FormatMonthAndFloats ¶ added in v1.3.0
func FormatStringAndFloats ¶
func FormatStringAndInts ¶
func FormatStrings ¶
func FormatTimeAndFloats ¶
func FormatTimeAndInts ¶
func SimpleTable ¶
func StreamSimpleTable ¶
func WriteCSVSimple ¶
WriteCSVSimple writes a file with cols and rows data.
func WriteSimpleTable ¶
func WriteSimpleTable(qq422016 qtio422016.Writer, table Table)
func WriteXLSXInterface ¶
Types ¶
type ColumnSet ¶ added in v0.0.4
type ColumnSet struct {
Columns []Column
}
func (*ColumnSet) DisplayTexts ¶ added in v0.0.4
type Columns ¶ added in v1.5.0
type Columns []string
Columns represents a slice of string with tabular functions.
func (Columns) MustRowVal ¶ added in v1.5.0
MustRowVal returns a single row value.
func (Columns) MustRowVals ¶ added in v1.5.0
MustRowVals returns a slice of values.
func (Columns) RowValFloat64 ¶ added in v1.5.0
RowValFloat64 returns a single row value.
func (Columns) RowValTime ¶ added in v1.5.0
RowValTime returns a single row value. If no `timeFormat` is provided `time.RFC3339` is used.
type Table ¶
type Table struct { Name string Columns Columns Rows [][]string FormatMap map[int]string FormatFunc func(val string, colIdx uint) (interface{}, error) FormatAutoLink bool ID string Class string Style string }
Table is useful for working on CSV data. It stores records as `[]string` with typed formatting information per-column to facilitate transformations.
func FormatStraightToTabular ¶
FormatStraightToTabular takes a "straight table" wheere the columnn names and values are in a single column and lays it out as a standard tabular data.
func NewTable ¶
NewTable returns a new empty `Table` struct with slices and maps set to empty (non-nil) values.
func ParseReader ¶
func ReadFiles ¶ added in v1.5.0
ReadFiles reads in a list of delimited files and returns a merged `Table` struct. An error is returned if the columns count differs between files.
func (*Table) ColumnValues ¶
func (*Table) ColumnValuesDistinct ¶
func (*Table) ColumnValuesForColumnName ¶ added in v1.5.0
func (*Table) ColumnValuesMinMax ¶
func (*Table) ColumnsValuesDistinct ¶
func (*Table) FilterRecordsColumnValues ¶
func (tbl *Table) FilterRecordsColumnValues(wantColNameValues map[string]string) ([][]string, error)
FilterRecordsColumnValues returns a set of records filtered by column names and column values.
func (*Table) FormatterFunc ¶
func (*Table) IsWellFormed ¶
func (*Table) LoadMergedRows ¶
LoadMergedRows is used to load data including both column names and rows from `[][]string` sources like `csv.ReadAll()`.
func (*Table) NewTableFilterColDistinctFirst ¶
func (*Table) NewTableFilterColumnValues ¶
NewTableFilterColumnValues returns a Table filtered by column names and column values.
func (*Table) ToDocuments ¶ added in v1.6.0
func (*Table) ToSliceMSS ¶
func (*Table) Unmarshal ¶
Unmarshal is a convenience function to provide a simple interface to unmarshal table contents into any desired output.
func (*Table) UpsertRowColumnValue ¶
type TableSet ¶
type TableSet struct { Name string Columns []string FormatMap map[int]string FormatFunc func(val string, colIdx uint) (interface{}, error) TableMap map[string]*Table }
func NewTableSet ¶ added in v1.10.0
func (*TableSet) TableNames ¶
func (*TableSet) TablesSorted ¶
type TabulatorColumn ¶ added in v0.0.4
type TabulatorColumnSet ¶ added in v0.0.4
type TabulatorColumnSet struct {
Columns []TabulatorColumn
}
func BuildColumnsTabulator ¶ added in v0.0.4
func BuildColumnsTabulator(columns []Column) TabulatorColumnSet
func (*TabulatorColumnSet) ColumnsJSON ¶ added in v0.0.4
func (tColSet *TabulatorColumnSet) ColumnsJSON() ([]byte, error)
func (*TabulatorColumnSet) MustColumnsJSON ¶ added in v0.0.4
func (tColSet *TabulatorColumnSet) MustColumnsJSON() []byte