以下是使用goland读取文件名为C:\Users\You\Downloads\一致性核查清单详单导出 - 2023-05-17T103201.607.csv的GBK编码格式的csv文件并另存为temp.csv的代码示例:
package main
import (
"bufio"
"encoding/csv"
"os"
)
func main() {
file, err := os.OpenFile("C:\\Users\\You\\Downloads\\一致性核查清单详单导出 - 2023-05-17T103201.607.csv", os.O_RDONLY, 0666)
if err != nil {
panic(err)
}
defer file.Close()
reader := csv.NewReader(bufio.NewReader(file))
reader.LazyQuotes = true // 可选:允许懒散引用标记,例如 "hello ""world""!" 的引号可省略
records, err := reader.ReadAll()
if err != nil {
panic(err)
}
// 将读取到的记录写入新文件 temp.csv 中
outFile, err := os.Create("temp.csv")
if err != nil {
panic(err)
}
defer outFile.Close()
writer := csv.NewWriter(outFile)
for _, record := range records {
err := writer.Write(record)
if err != nil {
panic(err)
}
}
writer.Flush()
}
该代码使用了encoding/csv库来读取csv文件,其中设置了LazyQuotes选项以允许懒散引用标记。读取完成后,将记录逐个写入新文件temp.csv中。