Compressez les données python et écrivez sur sqlite

compress.py


#!/usr/bin/python
# -*- encoding: utf-8 -*-
import sys

import zlib
from base64 import binascii

#-----------------------------------------------------------
# COMPRESS
#-----------------------------------------------------------
def z_compress(data):

    #return buffer(zlib.compress(data))
    return zlib.compress(data)

#-----------------------------------------------------------
# DECOMPRESS
#-----------------------------------------------------------
def z_decompress(data):

    return zlib.decompress(data)

#-----------------------------------------------------------
# B2A
#   Binary >> Base64 Ascii
#-----------------------------------------------------------
def b2a(data):

    return binascii.b2a_base64(data)

#-----------------------------------------------------------
# A2B
#   Base64 Ascii >> Binary
#-----------------------------------------------------------
def a2b(data):

    return binascii.a2b_base64(data)

#-----------------------------------------------------------
# TEST
#-----------------------------------------------------------
def test():

    data = '1234567890123456789012345678901234567890123456789012345678901234567890'

    print 'ROW DATA:   %3d bytes' % sys.getsizeof(data)

    data = z_compress(data)
    print 'COMPRESS:   %3d bytes' % sys.getsizeof(data)

    data = b2a(data)
    print 'B2A:        %3d bytes' % sys.getsizeof(data)

    data_lists = sqlite_test(data)

    for data in data_lists:
        print 'ROW_DATA:   %3d bytes' % sys.getsizeof(data)

        data = a2b(data)
        print 'A2B:        %3d bytes' % sys.getsizeof(data)

        data = z_decompress(data)
        print 'DECOMPRESS: %3d bytes' % sys.getsizeof(data)

def sqlite_test(data):

    import sqlite3

    #---Connectez-vous à sqlite
    con = sqlite3.connect(":memory:")
    cur = con.cursor()

    #---Vérifiez s'il y a une table
    sql = 'SELECT COUNT(*) FROM sqlite_master WHERE type="table" AND name=?'
    cur.execute(sql, ('test',))

    #---Créer lorsqu'il n'y a pas de table
    if not cur.fetchone()[0]:
        sql = 'CREATE TABLE test(data TEXT)'
        con.execute(sql)

    #---Plongée des données
    sql  = 'INSERT INTO test (data) VALUES (?)'
    con.execute(sql, (data,))
    con.commit()

    #---L'acquisition des données
    sql = 'SELECT * from test'
    cur.execute(sql)
    row_lists = []
    for row in cur:
        row_lists.append(row[0])

    #---Renvoie des données
    return row_lists

if __name__ == '__main__' : test()

résultat

ROW DATA:   110 bytes
COMPRESS:    61 bytes
B2A:         69 bytes
ROW_DATA:   168 bytes
A2B:         61 bytes
DECOMPRESS: 110 bytes

Recommended Posts

Compressez les données python et écrivez sur sqlite
Vider les données SQLite3 et migrer vers MySQL
[python] Compresser et décompresser
[Python] Comment lire les données de CIFAR-10 et CIFAR-100
Récupération des données de MacNote3 et migration vers Write
Écrire des données CSV sur AWS-S3 avec AWS-Lambda + Python
Ce n'est pas facile d'écrire Python, c'est facile d'écrire numpy et scipy
Écrire des tests en Python pour profiler et vérifier la couverture
Écrire des données dans KINTONE à l'aide du module de requêtes Python
Connectez-vous à sqlite depuis python
Écrire en csv avec Python
Créer un environnement Python et transférer des données vers le serveur
[Introduction to Data Scientists] Bases de Python ♬ Fonctions et classes
[Python] Utilisez ceci pour lire et écrire des fichiers wav [wavio]
[Introduction à Python] Combinaison des données Nikkei Average et NY Dow CSV
Obtenez des données supplémentaires vers LDAP avec python (Writer et Reader)
[Python] Comment FFT des données mp3
[Introduction à Python3 Jour 1] Programmation et Python
[Python] Ecrire dans un fichier csv avec Python
Comment utiliser SQLite en Python
Journalisation Python et vidage vers json
Sélénium et python pour ouvrir Google
[Python / Ruby] Comprendre le code Comment obtenir des données en ligne et les écrire au format CSV
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie1-
traitement pour utiliser les données notMNIST en Python (et essayé de les classer)
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie2-
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie4-
Déplacer les données vers LDAP avec python Change / Delete (Writer et Reader)
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie3-
[Introduction to Data Scientists] Bases de Python ♬ Branchements conditionnels et boucles
[Introduction aux Data Scientists] Bases de Python ♬ Fonctions et fonctions anonymes, etc.
Construction de pipeline de données avec Python et Luigi
Comment empaqueter et distribuer des scripts Python
De Python à l'utilisation de MeCab (et CaboCha)
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.1-8.2.5)
Lier des méthodes aux classes et instances Python
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.3-8.3.6.1)
Comment écrire des commentaires de document Python (Docstrings)
Lier à la classe pour lire et écrire YAML
Convertir des données Excel en JSON avec python
Fractal pour faire et jouer avec Python
Ecrire le fichier O_SYNC en C et Python
[Introduction à Python3 Jour 19] Chapitre 8 Destinations de données (8.4-8.5)
Convertissez des données FX 1 minute en données 5 minutes avec Python
Structure et fonctionnement des données Python (mémo d'apprentissage Python ③)
Essayer de gérer SQLite3 avec Python [Note]
Lire Python csv et exporter vers txt
Lire et écrire des fichiers JSON avec Python
Représentez facilement des données graphiques dans le shell et Python
python: Comment utiliser les locals () et globals ()
Comment utiliser "deque" pour les données Python
[Python] Comment calculer MAE et RMSE
Comment utiliser le zip Python et énumérer
Comment utiliser is et == en Python
Comment écrire Ruby to_s en Python
[Introduction au Data Scientist] Bases de Python ♬
Communication de données chiffrées entre Python et C #
Comment écrire des commentaires pydoc et multi-lignes
Comment écrire le bon shebang dans les scripts Perl, Python et Ruby
Essayez d'écrire du code python pour générer du code go - Essayez de porter JSON-to-Go et ainsi de suite