Write function from encoding/csv pkg停止写入csv文件



我试图提取文件夹中。txt文件的名称。
但是我遇到了一个问题,从编码/csv的写入函数停止写入我初始化的csv文件。
代码如下:

import (
        "encoding/csv"
        "io/ioutil"
        "log"
        "os"
        "strings"
)
func Extract() error {
    //read folder
    AllFiles, err := ioutil.ReadDir("./folder")
    if err != nil {
        return err
    }
    //create csv file
    SupportCsv, err := os.Create("csvfile.csv")
    if err != nil {
        return err
    }
    WriterSupport := csv.NewWriter(SupportCsv)
    for _, file := range AllFiles {
        res := []string{"test", file.Name()}
        log.Println(res)
        //write in csv file
        err = WriterSupport.Write(res)
        if err != nil {
            return err
        }
    }
return nil
}

我有~300 .txt文件在我的文件夹。
日志。Println打印所有内容,所以问题一定是与Write函数有关。
返回csv文件作为少文件名和姓氏不完全写入。
另外,当我改变"test"字符串在res中,CSV文件返回或多或少文件名在其中。
写不返回错误。

看起来您错过了writersupport。您所需要做的就是延迟Flush()以确保它被执行。创建WriterSupport := csv.NewWriter(SupportCsv)后更好

WriterSupport := csv.NewWriter(SupportCsv)
defer WriterSupport.Flush()

相关内容

  • 没有找到相关文章

最新更新