SimpleSQLite is a python library to simplify the table creation and data insertion in SQLite database.
Project description
SimpleSQLite
Summary
SimpleSQLite is a python library to simplify the table creation and data insertion in SQLite database.
Feature
Automatic table creation from data
- Support various data types of record(s) insertion into a table:
dictionary
namedtuple
list
tuple
- Create table(s) from:
CSV file/text
JSON file/text
Microsoft Excel TM file
Examples
Create a table
Create a table from data matrix
from simplesqlite import SimpleSQLite
import six
con = SimpleSQLite("sample.sqlite", "w")
table_name = "sample_table"
# create table -----
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 in the table -----
six.print_(con.get_attribute_name_list(table_name))
result = con.select(select="*", table_name=table_name)
for record in result.fetchall():
six.print_(record)
# display data type for each column in the table -----
six.print_(con.get_attribute_type_list(table_name))
['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')
Insert records into a table
Insert dictionary
from simplesqlite import SimpleSQLite
import six
table_name = "sample_table"
con = SimpleSQLite("sample.sqlite", "w")
con.create_table_with_data(
table_name,
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,
insert_record={
"attr_a": 4,
"attr_b": 4.4,
"attr_c": "ddd",
"attr_d": 4.44,
"attr_e": "hoge",
}
)
con.insert_many(
table_name,
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=table_name)
for record in result.fetchall():
six.print_(record)
(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')
Insert list/tuple/namedtuple
from collections import namedtuple
from simplesqlite import SimpleSQLite
import six
table_name = "sample_table"
con = SimpleSQLite("sample.sqlite", "w")
con.create_table_with_data(
table_name,
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, insert_record=[7, 7.7, "fff", 7.77, "bar"])
con.insert_many(
table_name,
insert_record_list=[
(8, 8.8, "ggg", 8.88, "foobar"),
SampleTuple(9, 9.9, "ggg", 9.99, "hogehoge"),
]
)
result = con.select(select="*", table_name=table_name)
for record in result.fetchall():
six.print_(record)
(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')
For more information
More examples are available at http://simplesqlite.readthedocs.org/en/latest/pages/examples/index.html
Installation
pip install SimpleSQLite
Dependencies
Python 2.6+ or 3.3+
DataPropery (Used to extract data types)
Test dependencies
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file SimpleSQLite-0.3.6.tar.gz.
File metadata
- Download URL: SimpleSQLite-0.3.6.tar.gz
- Upload date:
- Size: 43.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1572179561c560a4fd032eea9f2d3e448a85470f29f928fd1294f5520cc54551
|
|
| MD5 |
5e34bd11467c855ccd98815902d4e25d
|
|
| BLAKE2b-256 |
f757db11cdcffa8c1893413b0106c451d36eafe4c986f90351b7320d70911fb5
|
File details
Details for the file SimpleSQLite-0.3.6-py2.py3-none-any.whl.
File metadata
- Download URL: SimpleSQLite-0.3.6-py2.py3-none-any.whl
- Upload date:
- Size: 29.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0025f68cac41a5121a4920bb37b8ae6c3ee56cfb4541631b9d532611a3b92ce0
|
|
| MD5 |
9d1e546f203120e6896bb7c7e6eb4b5a
|
|
| BLAKE2b-256 |
eedd31758b7f6e4378397ff44d29ef9a20c8710d2ea1a8a8be00d0a442b530c7
|