golang 解析csv檔案到struct

2021-09-24 12:41:07 字數 1288 閱讀 5117

2019獨角獸企業重金招聘python工程師標準》

預設情況下,csv檔案的首行會被當作header處理。

file.csv

hosname,ip

redis,172.17.0.2

mariadb,172.17.0.3

go

type info struct

//struct slice

infos := info{}

_ = csvreader.new().unmarshalfile("file.csv",&infos)

body,_ := json.marshal(infos)

fmt.println(string(body))

//point slice

infos = *info{}

_ = csvreader.new().unmarshalfile("file.csv",&infos)

body,_ := json.marshal(infos)

fmt.println(string(body))

note

如果csv檔案首行不包含header,可以使用withheader(string)來指定header。

_ = csvreader.new().withheader(string).unmarshalfile("file.csv",&infos)
就像列舉型別(enum),偶爾會遇到這種需要實現自定義轉換過程的情況。例子如下

type netprotocol uint32

const(

netprotocol_tcp netprotocol = iota

netprotocol_udp

netprotocol_dccp

netprotocol_sctp

)type serviceinfo struct

直接使用原始的型別來編輯csv檔案,十分不便。這時就需要實現自定義parser。

tip

type csvmarshal inte***ce

func (p *netprotocol)fromstring(protocol string) error

return nil

}

另外乙個例子 testcustom

Golang解析CSV檔案

日常工作實用csv型別檔案很普遍,而且很容易從其他資料來源中獲得。如google sheets,microsoft excel,或關係型資料庫。如何在應用中載入並解析csv呢,本文帶你實用golang解析csv檔案。通常其他語言處理csv檔案比較麻煩,通常需要通過第三方庫,解析工作量較大。golan...

解析csv檔案

以下內容僅為記錄 第一步 解析csv檔案 test public void testcsv throws exception catch filenotfoundexception e string line string everyline try system.out.println csv 中...

CSV檔案解析

實現功能 針對讀取的csv文件字串進行map格式輸出 主要 如下 public class csvpaser extends parser public static void main string args system.out.println map 說明 該部分主要針對多條記錄做相應的解析 ...