[PYTHON] Exporter un fichier texte compressé gzip

Bonjour. J'ai essayé d'exporter un fichier texte compressé au format gzip avec Python. Cette fois, le contenu est constitué de données CSV (en utilisant le module csv). "[Utilisation de csv.DictWriter pour générer un fichier csv gzippé en mémoire?](Https://stackoverflow.com/questions/54559843/using-csv-dictwriter-to-output-an-in-memory-gzipped-csv- file) "(Stack Overflow) a été utilisé comme référence.

$ ./write_csv_gzfile.py temp.csv.gz
$ gzip -dc temp.csv.gz
a,b
1,2
3,4

write_csv_gzfile.py


#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import io, csv, gzip, sys
from pathlib import Path

def writeCSV(f, newline='\n'):
    dat = [{'a': 1, 'b': 2}, {'a': 3, 'b': 4}]
    w = csv.DictWriter(f, dat[0].keys(), lineterminator=newline)
    w.writeheader()
    w.writerows(dat)

buffer = io.BytesIO()
with gzip.GzipFile(fileobj=buffer, mode='wb') as compressed:
    with io.TextIOWrapper(compressed, encoding='utf-8', newline='\n') as wrapper:
        writeCSV(wrapper)
p = Path(sys.argv[1])
p.write_bytes(buffer.getvalue())

Recommended Posts

Exporter un fichier texte compressé gzip
Créer un gros fichier texte avec shellscript
Parler en japonais avec OpenJtalk (lire un fichier texte)
Parler en japonais avec gTTS (lire un fichier texte)
Exporter la version Python3 OpenCV KeyPoint dans un fichier
Convertir un fichier texte avec des valeurs hexadécimales en fichier binaire
[Sublime Text 2] Toujours exécuter un fichier spécifique dans le projet
Convertir le HTML en fichier texte
Télécharger un fichier sur Dropbox
Lire et écrire des fichiers
Créer un fichier de données factice
Écrire et lire des fichiers
J'ai fait un texte Python
Scripting Language C —— Comment un fichier texte sans shebang est exécuté
Sortie de la ligne contenant la chaîne de caractères spécifiée à partir du fichier texte
Compter des chaînes spécifiques dans un fichier
Création d'un programme de fractionnement de fichiers wav
Créer un fichier deb avec Docker
Écrire la sortie standard dans un fichier
Diff d'un fichier binaire (fichier image, etc.)
Créer un fichier binaire en Python
Créer un fichier de nombres aléatoires de 1 Mo
Enregistrer les fichiers au format YAML avec PyYAML
Comment créer un fichier de configuration
Créer un téléchargeur de fichiers avec Django
exporter ENV en lisant le fichier dotenv par la commande Shell (set -a; source .env; set + a;) (#Shell #Linux)