当前位置: 代码迷 >> python >> sqlite3.ProgrammingError: 您没有提供绑定 1 的值
  详细解决方案

sqlite3.ProgrammingError: 您没有提供绑定 1 的值

热度:117   发布时间:2023-07-16 10:53:57.0

我正在尝试将 csv 数据加载到我已经构建的数据库中,并且出现上述错误。 CSV 文件只有 29 行,所有内容都拼写正确,我只是不知道我是否遗漏了一些语法? 任何人都可以推荐如何解决这个问题或我可能出错的地方吗?

我的功能详述如下:

def load_csv_to_db():
    db_file_name = 'records.db'
    csv_file_name = '13100262.csv'

    SQL = """
    insert into records_table (ref_date,geo,dguid,sex,age_group,student_response,uom,uom_id,scalar_factor,scalar_id,
    vector,coordinate,value,status,symbol,terminated,decimals) values (:ref_date,:geo,:dguid,:sex,:age_group,
    :student_response,:uom,:uom_id,:scalar_factor,:scalar_id,:vector,:coordinate,:value,:status,:symbol,:terminated,
    :decimals)"""

    with open(csv_file_name, 'rt') as csv_file:
        csv_reader = csv.DictReader(csv_file)

        with sq.connect(db_file_name) as conn:
            cursor = conn.cursor()
            cursor.executemany(SQL, csv_reader)

电子表格的第一行不包含内容为(文字)“ref_date”的列。

由于程序使用DictReader ,假设电子表格的第一行是列标题,它必须与 SQL 中使用的占位符名称完全匹配(尽管顺序不一定)。