コード例 #1
0
    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()
コード例 #2
0
 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