Python create sqlite db.

3 views
Skip to first unread message

Chris

unread,
Mar 9, 2013, 12:11:55 PM3/9/13
to qda_...@googlegroups.com
import sys
import sqlite3 as lite
from ntpath import basename


class createDB():

    sql_key = None
    sql_value = None
    TABLE_NAME = None
    DB_FILE = None
    fp = None

    def get_table_name(self):
        name = basename(self.fp)
        TABLE_NAME = name.split('.')[0]
        return TABLE_NAME

    def get_sql_key(self):

        myFile = None
        try:
            myFile = open(self.fp, 'r')
            lines = [line for line in myFile if line.strip()]
            _sql_key = lines[0]
            _sql_value = lines[1:]

            _sql_key = _sql_key.decode('gbk', 'ignore')
            self.sql_key = _sql_key.split('   ')
            self.sql_value = _sql_value
        except IOError, E:
            print 'Error', E
            sys.exit(-1)
        finally:
            myFile.close()

    def create_sql_tables(self):

        DROP_TABLE = 'DROP TABLE IF EXISTS ' + self.get_table_name()
        CREATE_TABLE = 'CREATE TABLE ' + self.get_table_name() + ' ('
        key = self.sql_key
        for i in key:
            CREATE_TABLE = CREATE_TABLE + i + ' TEXT, '

        CREATE_TABLE = CREATE_TABLE[:-2] + ')'
        conn = None

        try:
            conn = lite.connect(self.DB_FILE)
            with conn:
                cur = conn.cursor()
                cur.execute(DROP_TABLE)
                cur.executescript(CREATE_TABLE)
        except lite.Error, e:
            if conn:
                conn.rollback()
            print 'Error Create DB TABLE Error:', e.args[0]
            sys.exit(-2)
        finally:
            if conn:
                conn.close()

objTest = createDB()
objTest.fp = r'D:\student.txt'
objTest.DB_FILE = r'T.db'
objTest.get_sql_key()
objTest.create_sql_tables()


Reply all
Reply to author
Forward
0 new messages