我正在尝试使用与Python集成的SQLite,并尝试通过.csv文件将值插入到数据库中。我收到错误:DUPLICATE COLUMN NAME:Measure。我认为这是因为两列以相同的名称开头。我出错的地方有哪些线索?
for row in reader:
if header:
header = False
sql_query = "DROP TABLE IF EXISTS %s" % tablename
cursor.execute(sql_query)
sql_query = "CREATE TABLE %s (%s)" % (tablename,
", ".join([ "%s TEXT" % col for col in row]))
cursor.execute(sql_query)
TRACEBACK ERROR:
File "C:\Users\Rachit-PC\AppData\Local\Continuum\Anaconda3\lib\site-
packages\IPython\core\interactiveshell.py", line 2881, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-107-6337a434d788>", line 32, in <module>
cursor.execute(sql_query)
sqlite3.OperationalError: duplicate column name: Measure
答案 0 :(得分:0)
CREATE TABLE va_ipshep_apr2017cms_09mar17 (
Provider ID TEXT,
Hospital Name TEXT,
...
第一列的名称为Provider
,类型为ID TEXT
。
第二列的名称为Hospital
,类型为Name TEXT
。
如果您想在列名中包含特殊字符,则必须quote:
CREATE TABLE va_ipshep_apr2017cms_09mar17 (
"Provider ID" TEXT,
"Hospital Name" TEXT,
...