我试图创建一个简单的函数来将切片值附加到创建的 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
提交
取消