-
Notifications
You must be signed in to change notification settings - Fork 65
/
init_sqlite_progbar.py
42 lines (29 loc) · 1.09 KB
/
init_sqlite_progbar.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Sebastian Raschka 02/01/2014
# Intialization of a SQLite Database with 6056212
# entries from a data file which consists of 2 comma-separated columns
# Uses pyprind.ProgBar() to visualize the progess as bar
import sqlite3
import subprocess
import pyprind
input_file = './id_list.txt'
# get line count of the input file
line_cnt = subprocess.check_output(['wc', '-l', input_file])
line_cnt = int(line_cnt.split()[0])
print('Processing %d lines ...' % (line_cnt))
# instantiating new progress bar object
my_bar = pyprind.ProgBar(line_cnt)
# open connection and create a new database
conn = sqlite3.connect('./my_sqlite_db.sqlite')
c = conn.cursor()
c.execute('CREATE TABLE my_db (ID INT PRIMARY KEY, rank TEXT)')
# read entries from a text file and add them to the database
with open(input_file, 'r') as in_file:
for line in in_file:
line = line.strip().split(',')
c.execute('INSERT INTO my_db (id, rank) VALUES (%s, "%s")'
% (line[0],line[1]))
# update the progress bar
my_bar.update()
# commit changes and close connection
conn.commit()
conn.close()