Files
sjy01-preprocessing/extract/aux.go
nuknal 84c8b5d23c xlxs
2024-05-21 16:16:54 +08:00

46 lines
787 B
Go

package extract
import (
"os"
log "github.com/sirupsen/logrus"
"github.com/tealeg/xlsx"
)
func (e Extractor) ExtractAux(auxfile, xlsxfile string) error {
if err := createAuxXlxs(xlsxfile); err != nil {
return err
}
wb, err := xlsx.OpenFile(xlsxfile)
if err != nil {
panic(err)
}
sh := wb.Sheets[0]
data, err := os.ReadFile(auxfile)
if err != nil {
log.Println("read aux data from", auxfile, "error:", err.Error())
return err
}
for i := 0; i < len(data); i += 24 + 128 + 512 {
row := sh.AddRow()
var head AuxFrameHead
head.Decode(data[i : i+24])
head.SaveXlsx(row)
var box AuxFocalBox
box.Decode(data[i+24 : i+24+128])
box.SaveXlsx(row)
var plat AuxPlatform
plat.Decode(data[i+24+128 : i+24+128+512])
box.SaveXlsx(row)
}
return nil
}