From 7fcbbaeb467833eae8acf220dcc810bdbd7d5896 Mon Sep 17 00:00:00 2001 From: "Mr.Li" Date: Sun, 23 Apr 2023 14:32:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=BE=93=E5=87=BA=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- biz/export/csv_exporter.go | 11 +++++++--- cmd/cmd/csv.go | 45 +------------------------------------- 2 files changed, 9 insertions(+), 47 deletions(-) diff --git a/biz/export/csv_exporter.go b/biz/export/csv_exporter.go index f58e0aa..03745d7 100644 --- a/biz/export/csv_exporter.go +++ b/biz/export/csv_exporter.go @@ -41,7 +41,10 @@ func (ee *CsvExporter) Export(sql, pk string) error { if err != nil { return fmt.Errorf("数据获取错误:%w", err) } - log.Printf("数据获取耗时:%s \n", time.Now().Sub(begin).String()) + duration := time.Now().Sub(begin) + if duration.Seconds() > 10 { + log.Printf("数据获取耗时:%s \n", duration.String()) + } ee.count = len(data.Data) if ee.count > 0 { @@ -64,8 +67,10 @@ func (ee *CsvExporter) exportToCsv(data *Data) { } ee.file.Close() ee.wg.Done() - end := time.Now() - log.Printf("csv time:%s\n", end.Sub(begin).String()) + duration := time.Now().Sub(begin) + if duration.Seconds() > 10 { + log.Printf("csv输出耗时:%s \n", duration.String()) + } } func (ee *CsvExporter) Last() (int, interface{}) { diff --git a/cmd/cmd/csv.go b/cmd/cmd/csv.go index 05f3032..6e07266 100644 --- a/cmd/cmd/csv.go +++ b/cmd/cmd/csv.go @@ -1,12 +1,10 @@ package cmd import ( - "encoding/csv" "excel_export/biz/config" "excel_export/biz/db" "excel_export/biz/export" "fmt" - "io" "os" "strconv" "sync" @@ -86,7 +84,7 @@ func (e *Csv) TaskExport(d export.DataFetcher, t config.Task, params map[string] time.Sleep(time.Microsecond * 30) } wg.Wait() - fmt.Println("tempDir", e.dirTemp) + //fmt.Println("tempDir", e.dirTemp) //todo 合并csv文件,并删除 临时目录 err := e.mergeCsvToExcel(e.dirTemp, i, fileName) fmt.Println(err) @@ -116,47 +114,6 @@ func (e *Csv) getCsvFile(index int) (*export.Csv, error) { return f, nil } -func (e *Csv) mergeCsv(path string, max int) error { - csvFile, err := os.Create("aa.csv") - if err != nil { - return fmt.Errorf("打开写入文件失败:%w", err) - } - defer csvFile.Close() - csvWriter := csv.NewWriter(csvFile) - - for i := 0; i <= max; i++ { - filename := fmt.Sprintf("%s/data_%d_0.csv", path, i) - csvOpen, err := os.Open(filename) - - if err != nil { - return fmt.Errorf("打开读取文件%s失败:%w", filename, err) - } - csvReader := csv.NewReader(csvOpen) - var index int - for { - record, err := csvReader.Read() - if err == io.EOF { - break - } else if err != nil { - return fmt.Errorf("读取文件%s错误:%w", filename, err) - } - - index++ - //不是第一个文件时,跳过第一条数据 - if index == 1 && i != 0 { - //continue - } - fmt.Println(record) - csvWriter.Write(record) - - } - - csvOpen.Close() - } - csvWriter.Flush() - return nil -} - func (e *Csv) mergeCsvToExcel(path string, max int, out string) error { m := NewMerge( Reader{Path: path, Index: max},