<分区>
我正在尝试使用 Go 生成一个 CSV 文件,该文件将存储 MySQL 查询的转储。
我目前能够将我的结果导出到预先存在的 CSV 文件中,但我试图在运行 main.go 后自动生成 CSV 文件。我试过使用 WriteFile
,我知道它会将 CSV 文件写入指定的文件名。我知道这是设计使然,但我希望生成文件。
rows, _ := db.Query("SELECT * FROM orderTest limit 100;")
err := sqltocsv.WriteFile("orderTest.csv", rows)
if err != nil {
panic(err)
}
columns, _ := rows.Columns()
count := len(columns)
values := make([]interface{}, count)
valuePtrs := make([]interface{}, count)
for rows.Next() {
for i := range columns {
valuePtrs[i] = &values[i]
}
rows.Scan(valuePtrs...)
for i, col := range columns {
val := values[i]
b, ok := val.([]byte)
var v interface{}
if ok {
v = string(b)
} else {
v = val
}
fmt.Println(col, v)
}
}
}
我的目标是让 OrdeTest.csv 文件在我运行 main.go 时自动创建自己