Erstellt Simple SQLite, eine Python-Bibliothek, die das Erstellen / Einfügen von SQLite-Tabellen vereinfacht

Eine Bibliothek zum einfachen Erstellen von SQLite-Datenbanken in Python. Für Situationen wie:

GitHub-Repository

Documentation

Feature

Installation

pip install SimpleSQLite

Usage

Erstellen Sie eine Tabelle aus einem Array

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')

Erstellen Sie eine Tabelle aus einer CSV-Datei

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')

Daten in eine Tabelle einfügen

Wörterbuch EINFÜGEN

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')

In-Memory-DB

Bei Verwendung der In-Memory-Datenbank:

import simplesqlite
con = simplesqlite.connect_sqlite_db_mem()

Recommended Posts

Erstellt Simple SQLite, eine Python-Bibliothek, die das Erstellen / Einfügen von SQLite-Tabellen vereinfacht
Erstellt eine Python-Bibliothek DateTimeRange, die Zeitbereiche verarbeitet
Veröffentlichung einer Bibliothek, die Zeichendaten in Python-Bildern verbirgt
Erstellt eine Bibliothek für Python, die die morphologische Teilung problemlos handhaben kann
Versuchen Sie es mit APSW, einer Python-Bibliothek, die SQLite ernst nehmen kann
Code lesen von faker, einer Bibliothek, die Testdaten in Python generiert
Einfache Aufgabenliste, erstellt mit Python + Django
Ein Server, der POST-Daten mit flask / python wiedergibt
[Python] Eine praktische Bibliothek, die Kanji in Hiragana konvertiert
Veröffentlichen / Hochladen einer in Python erstellten Bibliothek in PyPI
Python-Programm, das ical-Daten in Text konvertiert
Eine Klasse, die mit SQLite3 schnell eine Datenbank erstellt und Daten einfügt
Ein Memo, das mit Python & Spark Daten aus dashDB liest
Python-Programm, das die Zeitnutzung aus icalendar-Daten aggregiert
Ein Python-Skript, das Oracle-Datenbankdaten in CSV konvertiert
Eine einfache Datenanalyse von Bitcoin, die von CoinMetrics in Python bereitgestellt wird
Verwenden Sie networkx, eine Bibliothek, die Diagramme in Python verarbeitet (Teil 2: Lernprogramm).
Ich habe eine Python-Bibliothek erstellt, um die API von LINE WORKS aufzurufen
Über psd-tools, eine Bibliothek, die psd-Dateien in Python verarbeiten kann
[Python] Analysieren Sie Splatoon 2-Ligaspieldaten mithilfe einer Korrelationskoeffiziententabelle
Erstellt einen Dienst, mit dem Sie J-League-Daten durchsuchen können
Ein Python-Skript, das auf dem Mac erstellte ._DS_Store- und ._ * -Dateien löscht
Einführung von "Scikit-Mobility", einer Bibliothek, mit der Sie menschliche Flussdaten mit Python einfach analysieren können (Teil 1)