使用Go語言讀取CSV文件并打印的操作指南
案例目標
掌握如何使用 Go 語言讀取 CSV 文件,并將內(nèi)容逐行打印到終端。
CSV(Comma-Separated Values)是一種常見的輕量級數(shù)據(jù)交換格式,本案例幫助你學習如何使用標準庫 encoding/csv 來處理 CSV 文件。
應(yīng)用場景
- • 讀取用戶上傳的數(shù)據(jù)表格
- • 分析日志、導入信息
- • 處理 Excel 導出的數(shù)據(jù)(保存為 .csv)
涉及知識點
- • 使用
os.Open()打開文件 - • 使用
csv.NewReader()讀取文件內(nèi)容 - • 使用
for循環(huán)遍歷每一行 - • 錯誤處理和資源釋放
示例CSV文件:data.csv
姓名,身份證號,年齡 張三,123456789012345678,30 李四,234567890123456789,28 王五,345678901234567890,35
示例代碼
package main
import (
"encoding/csv"
"fmt"
"os"
)
func main() {
// 打開CSV文件
file, err := os.Open("data.csv")
if err != nil {
fmt.Println("打開文件失敗:", 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)
}
}
運行結(jié)果示例
CSV文件內(nèi)容如下: 第 1 行: [姓名 身份證號 年齡] 第 2 行: [張三 123456789012345678 30] 第 3 行: [李四 234567890123456789 28] 第 4 行: [王五 345678901234567890 35]
技術(shù)說明
- •
encoding/csv是 Go 標準庫中的 CSV 解析器,提供快速可靠的讀寫支持 - •
reader.ReadAll()會一次性讀取全部內(nèi)容,適合小文件(幾千行以內(nèi)) - • 若處理大型文件,建議使用
reader.Read()逐行讀取
小結(jié)
本案例教會了你如何使用 Go 語言讀取 CSV 文件并打印內(nèi)容。掌握這種處理方式,將為你今后進行批量數(shù)據(jù)導入、清洗、分析打下基礎(chǔ)。
到此這篇關(guān)于使用Go語言讀取CSV文件并打印的操作指南的文章就介紹到這了,更多相關(guān)Go讀取CSV文件并打印內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
golang 微服務(wù)之gRPC與Protobuf的使用
這篇文章主要介紹了golang 微服務(wù)之gRPC與Protobuf的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02
Golang基于泛化調(diào)用與Nacos實現(xiàn)Dubbo代理
這篇文章主要為大家詳細介紹了Golang如何基于泛化調(diào)用與Nacos實現(xiàn)Dubbo代理,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-04-04
Win7環(huán)境下搭建Go開發(fā)環(huán)境(基于VSCode編輯器)
這篇文章主要介紹了Win7環(huán)境下搭建Go開發(fā)環(huán)境(基于VSCode編輯器),需要的朋友可以參考下2017-02-02

