在 gota 库中使用 dataframe.ReadCSV 时指定分隔符
specify delimiter when using dataframe.ReadCSV in the gota library
我正在尝试弄清楚如何在 gota library 中使用 dataframe.LoadOptions
来指定读取 CSV 文件时的分隔符。
package main
import (
"fmt"
"github.com/kniren/gota/dataframe"
"io/ioutil"
"strings"
)
func main() {
content, _ := ioutil.ReadFile("/path/to/csv/file.csv")
ioContent := strings.NewReader(string(content))
df := dataframe.ReadCSV(ioContent)
fmt.Println(df)
}
dataframe.ReadCSV 函数接受类型为 *dataframe.LoadOptions
的 options
变量
我检查了 dataframe.LoadOptions 结构的定义并发现了以下内容:
type LoadOption func(*loadOptions)
type loadOptions struct {
defaultType series.Type
detectTypes bool
hasHeader bool
names []string
nanValues []string
delimiter rune
types map[string]series.Type
}
我是 Go 的新手,被困在了这个问题上。我第一次遇到这样的定义:type LoadOption func(*loadOptions)
这个库使用 functional options.
dataframe.ReadCSV 接受 dataframe.LoadOption 中的任意数字 ,其中 LoadOption 是函数类型。查看文档以查找 return LoadOption 值并将其传递给 ReadCSV:
dataframe.ReadCSV(ioContent,
dataframe.WithDelimiter(';'),
dataframe.HasHeader(true),
// etc.
)
我正在尝试弄清楚如何在 gota library 中使用 dataframe.LoadOptions
来指定读取 CSV 文件时的分隔符。
package main
import (
"fmt"
"github.com/kniren/gota/dataframe"
"io/ioutil"
"strings"
)
func main() {
content, _ := ioutil.ReadFile("/path/to/csv/file.csv")
ioContent := strings.NewReader(string(content))
df := dataframe.ReadCSV(ioContent)
fmt.Println(df)
}
dataframe.ReadCSV 函数接受类型为 *dataframe.LoadOptions
的options
变量
我检查了 dataframe.LoadOptions 结构的定义并发现了以下内容:
type LoadOption func(*loadOptions)
type loadOptions struct {
defaultType series.Type
detectTypes bool
hasHeader bool
names []string
nanValues []string
delimiter rune
types map[string]series.Type
}
我是 Go 的新手,被困在了这个问题上。我第一次遇到这样的定义:type LoadOption func(*loadOptions)
这个库使用 functional options.
dataframe.ReadCSV 接受 dataframe.LoadOption 中的任意数字 ,其中 LoadOption 是函数类型。查看文档以查找 return LoadOption 值并将其传递给 ReadCSV:
dataframe.ReadCSV(ioContent,
dataframe.WithDelimiter(';'),
dataframe.HasHeader(true),
// etc.
)