我正尝试使用GO附带的标准库“encoding/csv”写入到GO中的csv文件。但是,没有任何内容正在写入文件,并且没有错误返回。以下是编写代码。映射中的值是字符串数组。感谢您提前提供任何帮助。在GO中写入csv错误
func writeErrors() {
file, error := os.OpenFile("output.csv", os.O_APPEND|os.O_CREATE, 0666)
if error != nil {panic(error)}
defer file.Close()
// New Csv writer
writer := csv.NewWriter(file)
// Headers
var new_headers = []string { "group_id", "account_id", "location_id", "payment_rating", "records_with_error" }
returnError := writer.Write(new_headers)
if returnError != nil {
fmt.Println(returnError)
}
for key, value := range errors {
returnError := writer.Write(value)
if returnError != nil {
fmt.Println(returnError)
}
fmt.Println("Writing: ", key, value)
}
}
为什么你需要'文件,错误:= os.OpenFile( “output.csv”,os.O_APPEND,0666)'行? – simonmenke
我补充说,因为我需要能够追加到文件,并据我了解,当文件创建或打开它们设置为只读访问。 – amedeiros
我想我可以添加| os.O_CREATE如果该文件不存在,并跳过创建它。 – amedeiros