將 CSV 資料解析為 Go 結構
問題:
如何有效地將 CSV記錄反序列化為自訂去
解決方案:
不要使用「encoding/csv」套件手動處理每個字段,而是考慮使用gocarina/gocsv庫。該工具提供了一種更簡單的方法,用於將 CSV 記錄解組到結構中。
gocsv 允許您使用 CSV 列標題作為標籤來定義結構中的自訂欄位對應。這些標籤指定結構中的每個欄位如何對應於 CSV 檔案中的特定欄位。
範例:
type Client struct { Id string `csv:"client_id"` Name string `csv:"client_name"` Age string `csv:"client_age"` } func main() { in, err := os.Open("clients.csv") if err != nil { panic(err) } defer in.Close() clients := []*Client{} if err := gocsv.UnmarshalFile(in, &clients); err != nil { panic(err) } for _, client := range clients { fmt.Println("Hello, ", client.Name) } }
透過使用gocsv,您可以輕鬆解組將CSV 記錄到結構中,允許在Go 應用程式中無縫提取和處理數據。
以上是如何有效率地將CSV資料解析為Go結構體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!