Имена не обновляются в таблице? - PullRequest
0 голосов
/ 08 февраля 2012

Здесь создается таблица transform1, но значения компании не копируются в имена transform1.,,

for bad_char in special_chars:  
            company =  company.replace(bad_char, '')  
            cur.execute('Create table transform1 (Names Varchar, Transformtype Varchar')  
            cur.execute('Insert into transform1 (Names)', company)      

Есть ли какое-либо отношение к программе !!!Это показывает мне без ошибок

1 Ответ

0 голосов
/ 08 февраля 2012

Вам нужно зафиксировать: 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...