SQLite重复列名

时间:2017-10-27 05:50:10

标签: python database sqlite duplicates

我正在尝试使用与Python集成的SQLite,并尝试通过.csv文件将值插入到数据库中。我收到错误:DUPLICATE COLUMN NAME:Measure。我认为这是因为两列以相同的名称开头。我出错的地方有哪些线索?

enter image description here

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

1 个答案:

答案 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,
    ...