此处正在创建表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)
该程序有什么关系!它显示我没有错误
答案 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