CSV データを Go 構造体に解析する
問題:
CSV レコードをカスタム ファイルに効率的に逆シリアル化するにはどうすればよいですか行くstructs?
解決策:
「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 中国語 Web サイトの他の関連記事を参照してください。