Création de Simple SQLite, une bibliothèque Python qui simplifie la création de table SQLite / l'insertion de données

Une bibliothèque pour créer facilement des bases de données SQLite en Python. Pour des situations telles que:

--Je veux créer un RDB maintenant pour un prototype de programme ――Je veux réfléchir à la structure de la table plus tard

Dépôt GitHub

Documentation

Feature --Création automatique de table à partir de données --Types de données qui peuvent être INSÉRÉS:

Installation

pip install SimpleSQLite

Usage

Créer une table à partir d'un tableau

Sample


from simplesqlite import SimpleSQLite

con = SimpleSQLite("sample.sqlite")

data_matrix = [
    [1, 1.1, "aaa", 1,   1],
    [2, 2.2, "bbb", 2.2, 2.2],
    [3, 3.3, "ccc", 3,   "ccc"],
]
con.create_table_with_data(
    table_name="sample_table",
    attribute_name_list=["attr_a", "attr_b", "attr_c", "attr_d", "attr_e"],
    data_matrix=data_matrix)

# display values -----
print(con.get_attribute_name_list("sample_table"))
result = con.select(select="*", table_name="sample_table")
for record in result.fetchall():
    print(record)

# display data type for each column -----
print(con.get_attribute_type_list(table_name="sample_table"))

Output


['attr_a', 'attr_b', 'attr_c', 'attr_d', 'attr_e']
(1, 1.1, u'aaa', 1.0, u'1')
(2, 2.2, u'bbb', 2.2, u'2.2')
(3, 3.3, u'ccc', 3.0, u'ccc')
(u'integer', u'real', u'text', u'real', u'text')

Créer une table à partir d'un fichier CSV

sample_data.csv


"attr_a","attr_b","attr_c"
1,4,"a"
2,2.1,"bb"
3,120.9,"ccc"

Sample-code


from simplesqlite import SimpleSQLite

con = SimpleSQLite("sample.sqlite", "w")
con.create_table_from_csv(csv_path="sample_data.csv")

print(con.get_attribute_name_list("sample_data"))
result = con.select(select="*", table_name="sample_data")
for record in result.fetchall():
    print(record)

Output


['attr_a', 'attr_b', 'attr_c']
(1, 4.0, u'a')
(2, 2.1, u'bb')
(3, 120.9, u'ccc')

Insérer des données dans un tableau

Dictionnaire INSERT

Sample-code


from simplesqlite import SimpleSQLite

con = SimpleSQLite("sample.sqlite", "w")
con.create_table_with_data(
    table_name="sample_table",
    attribute_name_list=["attr_a", "attr_b", "attr_c", "attr_d", "attr_e"],
    data_matrix=[[1, 1.1, "aaa", 1,   1]])

con.insert(
    table_name="sample_table",
    insert_record={
        "attr_a": 4,
        "attr_b": 4.4,
        "attr_c": "ddd",
        "attr_d": 4.44,
        "attr_e": "hoge",
    }
)
con.insert_many(
    table_name="sample_table",
    insert_record_list=[
        {
            "attr_a": 5,
            "attr_b": 5.5,
            "attr_c": "eee",
            "attr_d": 5.55,
            "attr_e": "foo",
        },
        {
            "attr_a": 6,
            "attr_c": "fff",
        },
    ]
)

result = con.select(select="*", table_name="sample_table")
for record in result.fetchall():
    print(record)

Output


(1, 1.1, u'aaa', 1, 1)
(4, 4.4, u'ddd', 4.44, u'hoge')
(5, 5.5, u'eee', 5.55, u'foo')
(6, u'NULL', u'fff', u'NULL', u'NULL')

list / tuple / namedtuple INSERT

Sample-code


from collections import namedtuple
from simplesqlite import SimpleSQLite

con = SimpleSQLite("sample.sqlite", "w")
con.create_table_with_data(
    table_name="sample_table",
    attribute_name_list=["attr_a", "attr_b", "attr_c", "attr_d", "attr_e"],
    data_matrix=[[1, 1.1, "aaa", 1,   1]])

SampleTuple = namedtuple(
    "SampleTuple", "attr_a attr_b attr_c attr_d attr_e")

con.insert(
    table_name="sample_table",
    insert_record=[7, 7.7, "fff", 7.77, "bar"])
con.insert_many(
    table_name="sample_table",
    insert_record_list=[
        (8, 8.8, "ggg", 8.88, "foobar"),
        SampleTuple(9, 9.9, "ggg", 9.99, "hogehoge"),
    ]
)

result = con.select(select="*", table_name="sample_table")
for record in result.fetchall():
    print(record)

Output


(1, 1.1, u'aaa', 1, 1)
(7, 7.7, u'fff', 7.77, u'bar')
(8, 8.8, u'ggg', 8.88, u'foobar')
(9, 9.9, u'ggg', 9.99, u'hogehoge')

DB en mémoire

Lors de l'utilisation du DB en mémoire:

import simplesqlite
con = simplesqlite.connect_sqlite_db_mem()

Recommended Posts

Création de Simple SQLite, une bibliothèque Python qui simplifie la création de table SQLite / l'insertion de données
Création d'une bibliothèque Python DateTimeRange qui gère les plages horaires
Publication d'une bibliothèque qui masque les données de caractères dans les images Python
Création d'une bibliothèque pour python capable de gérer facilement la division morphologique
Essayez d'utiliser APSW, une bibliothèque Python que SQLite peut prendre au sérieux
Lecture de code de faker, une bibliothèque qui génère des données de test en Python
Liste de tâches simple créée avec Python + Django
Un serveur qui fait écho aux données POSTées avec flask / python
[Python] Une bibliothèque pratique qui convertit les kanji en hiragana
Publier / télécharger une bibliothèque créée en Python vers PyPI
Programme Python qui convertit les données ical en texte
Une classe qui crée rapidement une base de données avec SQLite3 et insère des données
Un mémo qui lit les données de dashDB avec Python et Spark
Programme Python qui agrège l'utilisation du temps à partir des données icalendar
Un script python qui convertit les données Oracle Database en csv
Une analyse simple des données de Bitcoin fournie par CoinMetrics en Python
Utilisez networkx, une bibliothèque qui gère les graphiques en python (Partie 2: Tutoriel)
J'ai créé une bibliothèque Python pour appeler l'API de LINE WORKS
À propos de psd-tools, une bibliothèque capable de traiter des fichiers psd en Python
[Python] Analysez les données de match de la ligue Splatoon 2 à l'aide d'un tableau de coefficients de corrélation
Création d'un service qui vous permet de rechercher des données J-League
Un script python qui supprime les fichiers ._DS_Store et ._ * créés sur Mac
Introduction de "scikit-mobility", une bibliothèque qui vous permet d'analyser facilement les données de flux humain avec Python (Partie 1)