go语言csv包_golang 导出数据到csv文件

```go

// 导出设备列表信息到csv

func (ba *businessActor) ExportDeviceListInfo(deviceList []device.AllDevice, filename string) error {

// 创建文件

newFile, err := os.Create(filename)

if err != nil {

return errors.Wrap(err, "创建文件失败")

}

defer func() {

newFile.Close()

}()

// 写入UTF-8

newFile.WriteString("\xEF\xBB\xBF") // 写入UTF-8 BOM,防止中文乱码

// 写数据到csv文件

w := csv.NewWriter(newFile)

header := []string{"房间号", "门锁信号", "门锁电量", "柚控名称", "柚控状态"} //标题

data := [][]string{

header,

}

for k, _ := range deviceList {

hostIsOnline := ""

if deviceList[k].BoxOnline {

hostIsOnline := "在线"

} else {

hostIsOnline := "离线"

}

context := []string{

deviceList[k].RoomName,

strconv.Itoa(deviceList[k].Rssi) + "%",

strconv.Itoa(deviceList[k].Electric) + "%",

deviceList[k].BoxName,

hostIsOnline,

}

data = append(data, context)

}

// WriteAll方法使用Write方法向w写入多条记录,并在最后调用Flush方法清空缓存。

w.WriteAll(data)

w.Flush()

return err

}

```

有疑问加站长微信联系(非本文作者))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值