Support xlsx vector name upload.
This commit is contained in:
parent
fa07a19920
commit
fe1092017c
1
go.mod
1
go.mod
|
@ -6,6 +6,7 @@ require (
|
|||
github.com/astaxie/beego v1.12.3
|
||||
github.com/casdoor/casdoor-go-sdk v0.3.3
|
||||
github.com/go-sql-driver/mysql v1.6.0
|
||||
github.com/tealeg/xlsx v1.0.5
|
||||
xorm.io/core v0.7.3
|
||||
xorm.io/xorm v1.2.5
|
||||
)
|
||||
|
|
2
go.sum
2
go.sum
|
@ -471,6 +471,8 @@ github.com/syndtr/goleveldb v0.0.0-20160425020131-cfa635847112/go.mod h1:Z4AUp2K
|
|||
github.com/syndtr/goleveldb v0.0.0-20181127023241-353a9fca669c/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0=
|
||||
github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE=
|
||||
github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ=
|
||||
github.com/tealeg/xlsx v1.0.5 h1:+f8oFmvY8Gw1iUXzPk+kz+4GpbDZPK1FhPiQRd+ypgE=
|
||||
github.com/tealeg/xlsx v1.0.5/go.mod h1:btRS8dz54TDnvKNosuAqxrM1QgN1udgk9O34bDCnORM=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||
github.com/ugorji/go v0.0.0-20171122102828-84cb69a8af83/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ=
|
||||
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
package object
|
||||
|
||||
import (
|
||||
"github.com/openbrain/openbrain/util"
|
||||
"github.com/openbrain/openbrain/xlsx"
|
||||
)
|
||||
|
||||
func uploadVectorNames(owner string, fileId string) bool {
|
||||
table := xlsx.ReadXlsxFile(fileId)
|
||||
|
||||
vectors := []*Vector{}
|
||||
for _, line := range table {
|
||||
vector := &Vector{
|
||||
Name: line[0],
|
||||
Data: []float64{},
|
||||
}
|
||||
vectors = append(vectors, vector)
|
||||
}
|
||||
|
||||
dataset := &Dataset{
|
||||
Owner: owner,
|
||||
Name: "word",
|
||||
CreatedTime: util.GetCurrentTime(),
|
||||
DisplayName: "word",
|
||||
Distance: 100,
|
||||
Vectors: vectors,
|
||||
}
|
||||
return AddDataset(dataset)
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package object
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestUploadVectorNames(t *testing.T) {
|
||||
InitConfig()
|
||||
|
||||
uploadVectorNames("admin", "../../tmpFiles/【最原始版】词汇表—单行—去重后")
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package util
|
||||
|
||||
import "fmt"
|
||||
|
||||
func GetUploadXlsxPath(fileId string) string {
|
||||
return fmt.Sprintf("tmpFiles/%s.xlsx", fileId)
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package util
|
||||
|
||||
import "time"
|
||||
|
||||
func GetCurrentTime() string {
|
||||
timestamp := time.Now().Unix()
|
||||
tm := time.Unix(timestamp, 0)
|
||||
return tm.Format(time.RFC3339)
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
package xlsx
|
||||
|
||||
import (
|
||||
"github.com/openbrain/openbrain/util"
|
||||
"github.com/tealeg/xlsx"
|
||||
)
|
||||
|
||||
func ReadXlsxFile(fileId string) [][]string {
|
||||
path := util.GetUploadXlsxPath(fileId)
|
||||
file, err := xlsx.OpenFile(path)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
res := [][]string{}
|
||||
for _, sheet := range file.Sheets {
|
||||
for _, row := range sheet.Rows {
|
||||
line := []string{}
|
||||
for _, cell := range row.Cells {
|
||||
text := cell.String()
|
||||
line = append(line, text)
|
||||
}
|
||||
res = append(res, line)
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
Loading…
Reference in New Issue