为了账号安全,请及时绑定邮箱和手机立即绑定

将切片附加到 csv golang

将切片附加到 csv golang

Go
慕沐林林 2021-06-18 13:16:28
我试图创建一个简单的函数来将切片值附加到创建的 csv 文件的下一列。目的是在 test.csv 中有这种风格|列A |列B||标头1 |标头2||第一值| 第二值 |(抱歉格式错误,但是一旦生成了 text.csv,如果我们打开 text.csv 文件,想法是将“SECONDVALUE”放在“FIRSTVALUE”之后的下一列中(如上图)..并且每次调用该函数时,它都会在同一行中的前一列之后继续追加下一个值)。这是我得到的程度,但是它直接将 SECONDVALUE 附加到 FIRSTVALUE 的同一列上..(所以我得到的不是 "|FIRSTVALUE | SECONDVALUE" ,而是 "|FIRSTVALUESECONDVALUE|" )package mainimport (    "encoding/csv"    "fmt"    "os"    "strings")func main() {    callfunc()}func callfunc() int {    testval1 := []string{"FIRST VALUE"}    test(testval1, "test.csv", 1)    testval2 := []string{"SECOND VALUE"}    test(testval2, "test.csv", 0) //I want this to be added to the column next to first value     return 1}func test(lines []string, path string, header int) {    var hdr = []string{"header1", "header2"}    fmt.Println("inside the method..\n")    file, err := os.OpenFile(path, os.O_APPEND|os.O_WRONLY, 0600)    if err != nil {        if file, err = os.Create(path); err != nil {            return        }    }    defer file.Close()    writer := csv.NewWriter(file)    if header == 1 {        returnError := writer.Write(hdr)        if returnError != nil {            fmt.Println(returnError)        }    }    writer.Flush()    for _, value := range lines {        _, err := file.WriteString(strings.TrimSpace(value))        if err != nil { //exception handler            fmt.Println(err)            break        }    }    writer.Flush()}如何修复上面的代码行,使“SECONDVALUE”成为第二列,而不是“FIRSTVALUE”所在的同一列。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 201 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信