From 9baeca2b0602751ac71c8b4c69df9fa186c754e1 Mon Sep 17 00:00:00 2001 From: shoopea Date: Sun, 23 Feb 2025 19:19:48 +0100 Subject: [PATCH] add count for true/false --- peaq_tasks.go | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/peaq_tasks.go b/peaq_tasks.go index 1d9fde9..d6eeba4 100644 --- a/peaq_tasks.go +++ b/peaq_tasks.go @@ -7,6 +7,7 @@ import ( "os" "path/filepath" "strconv" + "strings" "github.com/xuri/excelize/v2" ) @@ -14,6 +15,8 @@ import ( type User struct { EVM string `json:"evm"` Email string `json:"email"` + True int `json:"true"` + False int `json:"false"` Tasks map[string]string `json:"tasks"` } @@ -69,17 +72,29 @@ func main() { // User already exists for i, h := range records[0][2:] { u.Tasks[h] = record[2+i] + if strings.ToLower(record[2+i]) == "true" { + u.True += 1 + } else if strings.ToLower(record[2+i]) == "false" { + u.False += 1 + } } } else { // New user u := &User{ EVM: record[0], Email: record[1], + True: 0, + False: 0, Tasks: make(map[string]string), } users[u.EVM+`+`+u.Email] = u for i, h := range records[0][2:] { u.Tasks[h] = record[2+i] + if strings.ToLower(record[2+i]) == "true" { + u.True += 1 + } else if strings.ToLower(record[2+i]) == "false" { + u.False += 1 + } } } } @@ -102,8 +117,11 @@ func main() { // Fill headers f.SetCellValue("Sheet1", "A1", "EVM") f.SetCellValue("Sheet1", "B1", "Email") + f.SetCellValue("Sheet1", "C1", "True") + f.SetCellValue("Sheet1", "D1", "False") + f.SetCellValue("Sheet1", "E1", "Empty") for k, v := range headers { - i, _ := excelize.ColumnNumberToName(v + 3) + i, _ := excelize.ColumnNumberToName(v + 6) f.SetCellValue("Sheet1", i+`1`, k) } @@ -111,8 +129,11 @@ func main() { for _, u := range users { f.SetCellValue("Sheet1", `A`+strconv.Itoa(uid), u.EVM) f.SetCellValue("Sheet1", `B`+strconv.Itoa(uid), u.Email) + f.SetCellValue("Sheet1", `C`+strconv.Itoa(uid), u.True) + f.SetCellValue("Sheet1", `D`+strconv.Itoa(uid), u.False) + f.SetCellValue("Sheet1", `E`+strconv.Itoa(uid), len(headers)-u.True-u.False) for k, v := range u.Tasks { - i, _ := excelize.ColumnNumberToName(headers[k] + 3) + i, _ := excelize.ColumnNumberToName(headers[k] + 6) f.SetCellValue("Sheet1", i+strconv.Itoa(uid), v) } uid += 1