csv파일은 gzip 압축이 되는 경우가 많습니다.
압축을 따로 풀지않고 gz 압축된 csv 파일을 직접 처리하는 것이 더 편할때가 많아졌습니다.
Go언어에서 gzip으로 압축된 csv 파일을 읽는 방법입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
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) } } |