gpt4 book ai didi

mysql - 如何使用csv.Writer输出MySQL数据

转载 作者:数据小太阳 更新时间:2023-10-29 03:07:55 25 4
gpt4 key购买 nike

我正在尝试通过 Go 将 MySQL 查询的结果导出到 .csv 文件。

在我当前的代码中,我能够在命令窗口中打印出我的查询结果,但我想通过 .csv 文件导出这些结果。

我当前的代码如下所示:

results, err := db.Query("SELECT id, testId, testtwoId, testthreeId, testfourId  FROM TestTable LIMIT 100")
if err != nil {
panic(err.Error())
}

for results.Next() {
var estTable TestTable

err = results.Scan(&orderEvent.id, &orderEvent.testId, &orderEvent.eventId, &orderEvent.createTime, &orderEvent.updateTime)
if err != nil {
panic(err.Error())
}
log.Println(TestTable.id, TestTable.testId, TestTable.testtwoId, TestTable.testthreeId, TestTable.testfourId)
}

运行我的文件时,我可以毫无问题地查看我的表格数据,但我仍然想通过 .csv 导出此数据。

我四处寻找并找到了一些用于 .csv 功能的代码,但我不确定如何将其应用到我当前的代码中。

我考虑过应用这样的东西:


file, err := os.Create("result.csv")
checkError("Cannot create file", err)
defer file.Close()

writer := csv.NewWriter(file)
defer writer.Flush()

for _, value := range data {
err := writer.Write(value)
checkError("Cannot write to file", err)
}
}

func checkError(message string, err error) {
if err != nil {
log.Fatal(message, err)
}
}

但是,我目前不确定如何在我的代码中应用它。

最佳答案

stdlib 中的 csv.Write 获取一个字符串数组,所以你应该在你的 for 循环中做这样的事情:

writer.Write([]string{TestTable.id, TestTable.testId, TestTable.testtwoId, TestTable.testthreeId, TestTable.testfourId})

如果 TestTable 的某些字段不是字符串,则必须根据需要将它们转换为字符串。

关于mysql - 如何使用csv.Writer输出MySQL数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57982277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com