def insert_data(self, csv_filename, table_name, fields): conn = sqlite3.connect(self.db_filename) _fields = ', '.join(fields) for row in open(csv_filename, 'r').readlines(): if not isinstance(row, unicode): row = row.decode('utf-8') row = row.strip() items = row.split('\t') if len(items) == len(fields): _values = [] for item in items: if not '"' in item: _values.append('"' + item.replace(' ', ' ').strip() + '"') elif not "'" in item: _values.append("'" + item.replace(' ', ' ').strip() + "'") else: _values.append('`' + item.replace(' ', ' ').strip() + '`') instruction = 'insert into ' + table_name + ' (' + _fields + ') ' + ' values (' + ', '.join(_values) + ')' utils.debugging(instruction) conn.execute(instruction + '\n') conn.commit() conn.close()
def query(self, expr): results = [] with sqlite3.connect(self.db_filename) as conn: cursor = conn.cursor() try: cursor.execute(expr) for row in cursor.fetchall(): results.append(row) except Exception as e: utils.debugging('ERROR: query') utils.debugging(expr) utils.debugging(e) conn.close() return results