Golang:使用jszwec/csvutil读取csv文件

jszwec/csvutil 高性能、惯用的CSV记录编码和解码到本机Go结构

文档

安装

bash 复制代码
go get github.com/jszwec/csvutil

要读取的文件 user.csv

复制代码
name,age,CreatedAt
jacek,26,2012-04-01T15:00:00Z
john,,2001-01-01T00:00:00Z

读取示例

go 复制代码
package main

import (
    "encoding/json"
    "fmt"
    "os"
    "time"

    "github.com/jszwec/csvutil"
)

type User struct {
    Name      string `csv:"name"`
    Age       int    `csv:"age,omitempty"`
    CreatedAt time.Time
}

func main() {
    body, _ := os.ReadFile("./user.csv")

    var users []User

    // read csv
    csvutil.Unmarshal(body, &users)

    // out
    data, _ := json.MarshalIndent(users, "", "  ")
    fmt.Println(string(data))
}

转为json输出

json 复制代码
[
  {
    "Name": "jacek",
    "Age": 26,
    "CreatedAt": "2012-04-01T15:00:00Z"
  },
  {
    "Name": "john",
    "Age": 0,
    "CreatedAt": "2001-01-01T00:00:00Z"
  }
]
相关推荐
c***9798几秒前
PHP在内容管理中的模板引擎
开发语言·php
举大栗子4 分钟前
基于Java的Socket.IO服务端基础演示
后端
用户69371750013847 分钟前
14.Kotlin 类:类的形态(一):抽象类 (Abstract Class)
android·后端·kotlin
San30.7 分钟前
深入理解 JavaScript 异步编程:从 Ajax 到 Promise
开发语言·javascript·ajax·promise
XIAOYU67201310 分钟前
2026大专跨境电商专业,想好就业考哪些证书比较好?
开发语言
组合缺一23 分钟前
Spring Boot 国产化替代方案。Solon v3.7.2, v3.6.5, v3.5.9 发布(支持 LTS)
java·后端·spring·ai·web·solon·mcp
2301_7644413337 分钟前
Python构建输入法应用
开发语言·python·算法
s***117044 分钟前
常见的 Spring 项目目录结构
java·后端·spring
咨询QQ276998851 小时前
V-REP小车项目+匹配文档,基于V-REP与MATLAB联合仿真,小车能够完成循迹、避障、走...
开发语言