使用Go語(yǔ)言讀取CSV文件并打印的操作指南
案例目標(biāo)
掌握如何使用 Go 語(yǔ)言讀取 CSV 文件,并將內(nèi)容逐行打印到終端。
CSV(Comma-Separated Values)是一種常見(jiàn)的輕量級(jí)數(shù)據(jù)交換格式,本案例幫助你學(xué)習(xí)如何使用標(biāo)準(zhǔn)庫(kù) encoding/csv 來(lái)處理 CSV 文件。
應(yīng)用場(chǎng)景
- • 讀取用戶(hù)上傳的數(shù)據(jù)表格
- • 分析日志、導(dǎo)入信息
- • 處理 Excel 導(dǎo)出的數(shù)據(jù)(保存為 .csv)
涉及知識(shí)點(diǎn)
- • 使用
os.Open()打開(kāi)文件 - • 使用
csv.NewReader()讀取文件內(nèi)容 - • 使用
for循環(huán)遍歷每一行 - • 錯(cuò)誤處理和資源釋放
示例CSV文件:data.csv
姓名,身份證號(hào),年齡 張三,123456789012345678,30 李四,234567890123456789,28 王五,345678901234567890,35
示例代碼
package main
import (
"encoding/csv"
"fmt"
"os"
)
func main() {
// 打開(kāi)CSV文件
file, err := os.Open("data.csv")
if err != nil {
fmt.Println("打開(kāi)文件失敗:", err)
return
}
defer file.Close()
// 創(chuàng)建CSV讀取器
reader := csv.NewReader(file)
// 讀取所有內(nèi)容(可選擇一行一行讀)
records, err := reader.ReadAll()
if err != nil {
fmt.Println("讀取CSV內(nèi)容失敗:", err)
return
}
// 打印CSV內(nèi)容
fmt.Println("CSV文件內(nèi)容如下:")
for i, row := range records {
fmt.Printf("第 %d 行: %v\n", i+1, row)
}
}
運(yùn)行結(jié)果示例
CSV文件內(nèi)容如下: 第 1 行: [姓名 身份證號(hào) 年齡] 第 2 行: [張三 123456789012345678 30] 第 3 行: [李四 234567890123456789 28] 第 4 行: [王五 345678901234567890 35]
技術(shù)說(shuō)明
- •
encoding/csv是 Go 標(biāo)準(zhǔn)庫(kù)中的 CSV 解析器,提供快速可靠的讀寫(xiě)支持 - •
reader.ReadAll()會(huì)一次性讀取全部?jī)?nèi)容,適合小文件(幾千行以?xún)?nèi)) - • 若處理大型文件,建議使用
reader.Read()逐行讀取
小結(jié)
本案例教會(huì)了你如何使用 Go 語(yǔ)言讀取 CSV 文件并打印內(nèi)容。掌握這種處理方式,將為你今后進(jìn)行批量數(shù)據(jù)導(dǎo)入、清洗、分析打下基礎(chǔ)。
到此這篇關(guān)于使用Go語(yǔ)言讀取CSV文件并打印的操作指南的文章就介紹到這了,更多相關(guān)Go讀取CSV文件并打印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用golang進(jìn)行OpenCV學(xué)習(xí)和開(kāi)發(fā)的步驟
目前,OpenCV逐步成為一個(gè)通用的基礎(chǔ)研究和產(chǎn)品開(kāi)發(fā)平臺(tái),下面這篇文章主要給大家介紹了關(guān)于利用golang進(jìn)行OpenCV學(xué)習(xí)和開(kāi)發(fā)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-09-09
Go語(yǔ)言計(jì)算兩個(gè)經(jīng)度和緯度之間距離的方法
這篇文章主要介紹了Go語(yǔ)言計(jì)算兩個(gè)經(jīng)度和緯度之間距離的方法,涉及Go語(yǔ)言相關(guān)數(shù)學(xué)函數(shù)的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
簡(jiǎn)單聊一聊Go語(yǔ)言中的數(shù)組和切片
數(shù)組和切片由于語(yǔ)法十分相似,在使用中容易混淆,要認(rèn)真區(qū)分,下面這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言中數(shù)組和切片的相關(guān)資料,需要的朋友可以參考下2021-07-07
golang 微服務(wù)之gRPC與Protobuf的使用
這篇文章主要介紹了golang 微服務(wù)之gRPC與Protobuf的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
Go語(yǔ)言Http調(diào)用之Post請(qǐng)求詳解
前文我們介紹了如何進(jìn)行 HTTP 調(diào)用,并通過(guò) GET 請(qǐng)求的例子,講述了 query 參數(shù)和 header 參數(shù)如何設(shè)置,以及響應(yīng)體的獲取方法。 本文繼上文,接下來(lái)會(huì)通過(guò) POST 請(qǐng)求,對(duì)其他參數(shù)的設(shè)置進(jìn)行介紹,感興趣的可以了解一下2022-12-12
Golang基于泛化調(diào)用與Nacos實(shí)現(xiàn)Dubbo代理
這篇文章主要為大家詳細(xì)介紹了Golang如何基于泛化調(diào)用與Nacos實(shí)現(xiàn)Dubbo代理,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-04-04
Win7環(huán)境下搭建Go開(kāi)發(fā)環(huán)境(基于VSCode編輯器)
這篇文章主要介紹了Win7環(huán)境下搭建Go開(kāi)發(fā)環(huán)境(基于VSCode編輯器),需要的朋友可以參考下2017-02-02

