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"
  }
]
相关推荐
OPEN-F1 分钟前
Python进阶教程:Web开发入门(Flask)
开发语言·python
神仙别闹4 分钟前
基于C++ MFC实现动态分区分配存储管理
开发语言·c++·mfc
IT_陈寒5 分钟前
Vite打包给我挖的这个坑,差点搞崩我的项目
前端·人工智能·后端
for_ever_love__9 分钟前
python基础语法学习: 类型注解
开发语言·python·学习
【赫兹威客】浩哥14 分钟前
基于SpringBoot+Vue3的企业办公自动化OA系统|集成Activiti工作流引擎
spring boot·后端·课程设计
caimouse15 分钟前
ReactOS 图形系统分析(46):DC 工具 — dcutil.c
c语言·开发语言
xixiaoyunya28 分钟前
从零搭建跨域互联网络:个人与小团队的轻量组网方案技术解析
开发语言·智能路由器·php
资源大佬星 课it33 分钟前
黑马 Java+AI新版V16零基础就业班视频课程百度网盘下载
java·开发语言·人工智能
zmzb010335 分钟前
Python课后习题训练记录Day193
开发语言·python
卷无止境36 分钟前
LiteLLM 全面解析开源AI网关如何统一管理百余种大模型
后端·python