我是 Golang 的新手,
- 我有一个 csv 文件,其中的数据看起来像这样
field1,field2
1.1,2
1.2,3
1.3,2
- 我想使用 golang 将所有 csv 数据插入到 db 表中而不使用 for 循环..我正在使用 postgres 数据库
也不想使用 sql 原始查询
我正在使用 gorm ORM
回答 filename := "foo.csv"
dbconn, err := pgx.Connect(context.Background(), os.Getenv("DATABASE_URL"))
if err != nil {
panic(err)
}
defer dbconn.Release()
f, err := os.Open(filename)
if err != nil {
panic(err)
}
defer func() { _ = f.Close() }()
res, err := dbconn.Conn().PgConn().CopyFrom(context.Background(), f, "COPY csv_test FROM STDIN (FORMAT csv)")
if err != nil {
panic(err)
}
fmt.Print(res.RowsAffected())