Je rencontre des problèmes lors de la lecture de fichiers CSV archivés.Comment lire un fichier CSV gzippé?
Donc je veux utiliser le paquet csv
et le paquet gzip
pour cela, mais je ne sais pas comment les combiner. Les gzip.Reader(p []bytes)
et csv.Reader()
ont des signatures différentes.
Ceci est ma fonction de lecteur:
func reader(filename string, c chan string) {
fi, err := os.Open(filename)
var r *bufio.Reader
if err != nil {
fmt.Println("%q",err)
os.Exit(1)
}
fz, err := g.NewReader(fi)
if err != nil {
r = bufio.NewReader(fi)
}else {
r = bufio.NewReader(fz)
}
for {
line, err := r.ReadString('\n')
if err != nil {
fmt.Println("done reading file")
c <- "done"
break
}else{
c <- fmt.Sprintf("%q",strings.Fields(line))
}
}
}
Avez-vous des suggestions?
Première: Tampon avant décompression. Deuxièmement: Quel est le problème de brancher le 'fz' dans' csv.NewReader'? – Volker