forked from IQuOD/AutoQC
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfilter-db.py
25 lines (17 loc) · 897 Bytes
/
filter-db.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
# usage: python filter-db.py <full table name> <filtered table name> <number of good / bad profiles to pick> <db filename>
import sys, sqlite3
if len(sys.argv) == 5:
conn = sqlite3.connect(sys.argv[4], isolation_level=None)
cur = conn.cursor()
query = "DROP TABLE IF EXISTS " + sys.argv[2]
cur.execute(query)
n = sys.argv[3]
query = "CREATE TABLE " + sys.argv[2] + " AS SELECT * FROM " + sys.argv[1] + " WHERE flagged=0 ORDER BY RANDOM() LIMIT " + str(n)
cur.execute(query)
query = "INSERT INTO " + sys.argv[2] + " SELECT * FROM " + sys.argv[1] + " WHERE flagged=1 ORDER BY RANDOM() LIMIT " + str(n)
cur.execute(query)
query = "CREATE UNIQUE INDEX uid ON " + sys.argv[2] + "(uid);"
cur.execute(query)
conn.commit()
else:
print("usage: python filter-db.py <full table name> <filtered table name> <number of good / bad profiles to pick>")