我有 2 种方法,分别用于GET和POST。第一个是:
var Join map[string]int
func MapTheFields(c *gin.Context) {
var data []string
//Open the csv file
csvFile, _ := os.Open("customers.csv")
reader := csv.NewReader(csvFile)
line, _ := reader.ReadAll()
for i := 0; i < len(line[0]); i++ {
Join = map[string]int{
line[0][i]: i,
}
data = append(data, line[0][i])
}
GetSuccessResponse(c, "The Mappings are:", data)
}
第二个也和第一个类似。它只是将值保存到数据库中。
我一直面临的问题是,我必须将从 csv 文件中获取的字段映射到我的项目中的字段,为此我制作了一个如上所示命名的地图,并且我正在访问 line in 的Join值第二个函数作为
line[i][Join["Last Name"]]
Join["Last Name"]但是我得到了as的值,0即使它的值为1,并且无论我在哪里使用连接作为索引,该值都是零,而且我总是只得到前 4 个值,然后是索引越界错误。
休息代码是:
func ImportCustomerData(c *gin.Context) {
//Open the csv file
csvFile, _ := os.Open("customers.csv")
reader := csv.NewReader(csvFile)
var (
user models.User
customer models.Customer
address models.UserAddress
addresses []models.UserAddress
people []models.Customer
users []models.User
)
line, _ := reader.ReadAll()
for i := 1; i < len(line[0]); i++ {
//Initialize address details
address.Address = line[i][Join["address"]]
address.City = line[i][Join["City"]]
address.State = line[i][Join["State"]]
address.Zipcode = line[i][Join["Postal Code"]]
savedAddress := SaveNewAddress(address, merchantDb)
//Initalize user details
user.FirstName = line[i][Join["First Name"]]
user.LastName = line[i][Join["Last Name"]]
user.CompanyName = line[i][Join["Company Name"]]
user.EmailId = line[i][Join["Email"]]
user.PhoneNumber = line[i][Join["Phone"]]
}
}
鸿蒙传说
相关分类