名称未更新到表格?

时间:2012-02-08 11:58:28

标签: python sqlite

此处正在创建表transform1,但不会在transform1的名称中复制company的值。 。 。

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 :(得分:0)

您需要提交:conn.commit()或任何连接对象的调用。

此外,您的身份必须被打破。使用该代码,它将在表中为公司中的每个bad_char插入公司。这不是你想做的事情吗?

并且sql语句是正确的,因为aix说... insert语句应为: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