好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

golang如何读取csv文件并且导入到mysql

如何读取csv文件

func OpenCsv() {
	fmt.Println("asdasd")
	file, err := os.Open("/Users/lidazhu/www/zixuephp备份/notexists1718.csv")
	check(err)
	fmt.Println(file)
	defer file.Close()

	// content := ""
	k := 0 //第一行是字段名,不需要
	reader := csv.NewReader(file)
	fmt.Println(reader)

	for {
		record, err := reader.Read()
		if err == io.EOF {
			break
		} else if err != nil {
			fmt.Println("Error:", err)
			continue
		}
		// fmt.Println(record, len(record))
		inserData2(record)
		k = k + 1

	}

}

如何导入mysql

// 插入数据
func inserData2(linedata []string) {
	// database, err := sqlx.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/zixuephp_new")
	// if err != nil {
	// 	fmt.Println("open mysql failed,", err)
	// 	return
	// }
	// fmt.Println(database)

	sql := "insert into detest_addonarticle1718 (aid, typeid, body, redirecturl, templet, userip, mycolor) values (?,?,?,?,?,?,?)" //  on duplicate key update mycolor = ``
	// value := [4]string{title, "0", "0", "4"}
	// fmt.Println("打印数据", linedata[0], linedata[1], linedata[2], linedata[3], linedata[4], linedata[5], linedata[6], "full_screen:", linedata[7], linedata[8])
	//执行SQL语句
	r, err := db.Exec(sql, linedata[0], linedata[1], linedata[2], linedata[3], linedata[4], linedata[5], linedata[6])
	if err != nil {
		fmt.Println("exec failed,", err)
		return
	}
	fmt.Println(r)

	defer fmt.Println("执行全部sql完毕 ---. ")
	// defer db.Close()
}

以上就是golang如何读取csv文件并且导入到mysql全部内容,感谢大家支持。

查看更多关于golang如何读取csv文件并且导入到mysql的详细内容...

  阅读:83次