golang如何生成csv文件

在Go语言中,可以使用标准库中的"encoding/csv"包来生成CSV文件。下面是一个简单的示例代码,演示如何使用Go生成CSV文件:

go 复制代码
package main

import (
 "encoding/csv"
 "os"
)

func main() {
 // 创建一个新的CSV文件
 file, err := os.Create("data.csv")
 if err != nil {
 panic(err)
 }
 defer file.Close()

 // 创建一个新的CSV写入器
 writer := csv.NewWriter(file)
 defer writer.Flush()

 // 写入CSV数据
 data := [][]string{
 {"Name", "Age", "Gender"},
 {"John", "25", "Male"},
 {"Alice", "30", "Female"},
 {"Bob", "35", "Male"},
 }
 for _, row := range data {
 err := writer.Write(row)
 if err != nil {
 panic(err)
 }
 }
}

在上面的代码中,我们首先使用os.Create函数创建一个新的CSV文件。然后,我们使用csv.NewWriter函数创建一个新的CSV写入器,并将其与文件关联。接下来,我们定义了要写入CSV文件的数据,即一个二维字符串切片。最后,我们使用writer.Write函数将每一行数据写入CSV文件。最后,我们使用writer.Flush函数确保所有数据都被写入文件并刷新缓存。

运行上述代码后,将在当前目录下生成一个名为"data.csv"的CSV文件,其中包含我们定义的数据。

相关推荐
特立独行的猫a几秒前
我用 Rust + Tauri 2 复刻了 N_m3u8DL-CLI:一个 m3u8 多线程下载器
开发语言·后端·rust·m3u8·视频下载器·m3u8dl-cli
月光有害1 分钟前
理解 Spring 依赖注入:从构造器注入到集合与条件 Bean
java·后端·spring
对象存储与RustFS3 分钟前
大文件传到 48 GiB 就断:S3 分片上传的参数怎么算,以及那些没人清的残片
后端·rust·开源
程序员雷欧4 分钟前
LongAdder
开发语言·python
foggyprojects5 分钟前
客户说“销售额”,系统怎样落到订单含税金额或开票含税销售额?
后端
鱼子星_16 分钟前
【C++】反向迭代器:反向迭代器的底层认识与模拟实现
开发语言·c++·笔记·stl
名字还没想好☜18 分钟前
Java 用 MethodHandle 替代反射:调用性能实测、invokeExact 的坑与缓存
java·开发语言·缓存·反射·methodhandle
SMF191920 分钟前
【Linux】完美解决缩略图工具gm调用java.io.FileNotFoundException: gm问题
java·开发语言·python
念何架构之路25 分钟前
路由注册:RouterGroup(routergroup.go)
开发语言·后端·golang
小当家.10529 分钟前
LLM服务缓存与连接池管理:三层缓存架构与ChatClient池化
java·后端·spring·缓存·llm·agent