Вам нужно зафиксировать: conn.commit()
или как там называется ваш объект соединения.
Кроме того, ваша идентификация должна быть сломана. С этим кодом он будет вставлять компанию в таблицу для каждого bad_char, который есть в списке. И это не может быть то, что вы хотите сделать?
И операторы sql неверны, как сказал aix ...
Оператор вставки должен быть: cur.execute('Insert into transform1 (Names) values (?)', [company])
Я не тестировал этот код, поэтому надеюсь, что ничего не пропустил.
Вот рабочий пример того, что, я полагаю, вы хотели сделать:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sqlite3
conn = sqlite3.connect('/tmp/example')
cur = conn.cursor()
companies = ['Theninthö ä ABå', 'Some åther company']
# Create table
cur.execute('Create table transform1 (Names varchar(255), Transformtype varchar(255))')
for company in companies:
# Fix bad characters
special_chars = ['å', 'ä', 'ö']
for bad_char in special_chars:
company = company.replace(bad_char, '')
# Add company
cur.execute('Insert into transform1 (Names) values (?)', [company])
conn.commit()
# Show data
cur.execute('Select * from transform1')
data = cur.fetchall()
print data