1.2.7 生成CSV数据
逗号分隔值(Comma-Separated Values, CSV)是指文件以纯文本形式存储表格数据(数字和文本)
Go语言提供
encoding/csv包来处理CSV数据生成CSV数据流程如下:
使用
os.Create()函数创建.csv文件,函数定义如下:func Create(name string) (*File, error)备注:
os.Create()函数如果创建文件成功,则会返回文件指针对象*File调用文件对象
*File的WriteString()方法来设置写入文件的内容为字符串类型,WriteString()方法定义如下:func (f *File) WriteString(s string) (n int, err error)调用
encoding/csv包中提供了NewWriter()函数来实例化并返回*Writer对象,定义如下func NewWriter(w io.Writer) *Writer调用
*Writer对象提供的Writer()方法来写入数据到CSV文件中,定义如下func (w *Writer) Write(record []string) error
示例如下:
func main() { // 创建名为test.csv文件 file, err := os.Create("test.csv") if err != nil { panic(err) } defer file.Close() file.WriteString("\xEF \xBB \xBF") // 写入UTF-8 BOM // NewWriter()函数返回一个Writer对象 w := csv.NewWriter(file) // 调用Writer对象的Write()方法写入数据到CSV文件中 w.Write([]string{"学号", "姓名", "分数"}) w.Write([]string{"1", "Barry", "99.5"}) w.Write([]string{"2", "Ling", "100"}) w.Write([]string{"3", "Jack", "88"}) w.Write([]string{"4", "Dong", "68"}) w.Flush() }运行结果:会在代码所在目录生成一个名为"test.csv"的文件
Last updated