SQLite Python Blaze—尝试在删除同名表后创建一个表,返回旧模式

SQLite Python Blaze—尝试在删除同名表后创建一个表,返回旧模式,python,python-2.7,sqlite,blaze,odo,Python,Python 2.7,Sqlite,Blaze,Odo,我试图弄清楚,当我试图使用一组不同的列名创建一个表时,为什么删除的表的模式会返回 删除该表后,我可以在SQLite浏览器中确认该表已消失。尝试通过ODO加载新文件后,将返回一个错误“传入数据的列名与SQL表中现有SQL表名的列名不匹配”。然后我可以看到在数据库中使用先前删除的模式重新创建了相同的表!我在放下桌子后尝试了一个真空声明,但仍然是同一个问题 我可以使用不同的表名创建表,但是完全不明白为什么不能使用之前删除的表名 import sqlite3 import pandas as pd fr

我试图弄清楚,当我试图使用一组不同的列名创建一个表时,为什么删除的表的模式会返回

删除该表后,我可以在SQLite浏览器中确认该表已消失。尝试通过ODO加载新文件后,将返回一个错误“传入数据的列名与SQL表中现有SQL表名的列名不匹配”。然后我可以看到在数据库中使用先前删除的模式重新创建了相同的表!我在放下桌子后尝试了一个真空声明,但仍然是同一个问题

我可以使用不同的表名创建表,但是完全不明白为什么不能使用之前删除的表名

import sqlite3
import pandas as pd
from odo import odo, discover, resource, dshape

conn = sqlite3.connect(dbfile)
c = conn.cursor()

c.execute("DROP TABLE <table1>")
c.execute("VACUUM")

importfile = pd.read_csv(csvfile)

odo(importfile,'sqlite:///<db_path>::<table1'>)

ValueError: Column names of incoming data don't match column names of existing SQL table Names in SQL table:
导入sqlite3 作为pd进口熊猫 从odo导入odo、发现、资源、数据形状 conn=sqlite3.connect(dbfile) c=连接光标() c、 执行(“删除表”) c、 执行(“真空”) importfile=pd.read\u csv(csvfile)
odo(importfile,'sqlite://::是的,记住提交更改会很有用!不幸的是,我太快将此作为答案。即使使用conn.commit(),我实际上仍然遇到同样的问题
import sqlite3
import pandas as pd
from odo import odo, discover, resource, dshape

conn = sqlite3.connect('test.db')
cursor = conn.cursor();
table = """ CREATE TABLE IF NOT EXISTS TABLE1 (
                                        id integer PRIMARY KEY,
                                        name text NOT NULL
                                    ); """;
cursor.execute(table);

conn.commit(); # Save table into database.

cursor.execute(''' DROP TABLE TABLE1 ''');
conn.commit(); # Save that table has been dropped.

cursor.execute(table);
conn.commit(); # Save that table has been created.
conn.close();