首頁 > 後端開發 > Golang > 如何有效率地將CSV資料解析為Go結構體?

如何有效率地將CSV資料解析為Go結構體?

Patricia Arquette
發布: 2024-12-03 05:04:09
原創
335 人瀏覽過

How Can I Efficiently Parse CSV Data into Go Structs?

將 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板