代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
// Create a csv file
f, err := os.OpenFile(facNFileName, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, os.ModePerm)
if err != nil {
return ""
}
defer f.Close()

wsv := csv.NewWriter(f)
// write csv
for facNo, count := range facNMap {
wsv.Write([]string{facNo, strconv.FormatInt(int64(count), 10)})
}
wsv.Flush() // 需要将数据写入文件系统中

func (w *Writer) Write(record []string) error,一次就是写一行数据;

使用Write进行写数据,需要显示调用Flush函数将数据真实写入目标中。

func (w *Writer) Flush()

一次性写多行数据,func (w *Writer) WriteAll(records [][]string) error,一次即写多行数据。

中文乱码,若文件写入有中文,那么打开.csv文件时将会出现乱码的现象,可以写入UTF-8 BOM,防止中文乱码。

1
f.WriteString("\xEF\xBB\xBF")