12345678910111213141516171819202122232425262728 |
- package reader
- import (
- "io"
- "path/filepath"
- "git.wecise.com/wecise/cgimport/odbc"
- "git.wecise.com/wecise/odb-go/dbo"
- "github.com/wecisecode/util/merrs"
- )
- var mcfg = odbc.Config
- var logger = odbc.Logger
- type BlockReader interface {
- ReadBlock(skiplines int) (block map[string]any, line string, linecount int, err error)
- }
- func NewBlockReader(filename string, classname string, reader io.Reader, schema *dbo.Schema) (BlockReader, error) {
- fileext := filepath.Ext(filename)
- switch fileext {
- case ".csv":
- return NewCSVBlockReader(filename, classname, reader, schema), nil
- case ".txt":
- return NewTXTBlockReader(filename, classname, reader), nil
- }
- return nil, merrs.UnsupportedError.NewError("unsupported data format " + fileext)
- }
|