csv파일은 gzip 압축이 되는 경우가 많습니다.
압축을 따로 풀지않고 gz 압축된 csv 파일을 직접 처리하는 것이 더 편할때가 많아졌습니다.
Go언어에서 gzip으로 압축된 csv 파일을 읽는 방법입니다.
package main
import (
"compress/gzip"
"encoding/csv"
"fmt"
"log"
"os"
)
func main() {
file, err := os.Open("data.csv.gz")
if err != nil {
log.Fatal(err)
}
defer file.Close()
gzipReader, err := gzip.NewReader(file)
if err != nil {
log.Fatal(err)
}
defer gzipReader.Close()
csvReader := csv.NewReader(gzipReader)
record, err := csvReader.Read()
if err != nil {
log.Fatal(err)
}
for _, v := range record {
fmt.Println(v)
}
}