我试图提取文件夹中。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()