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

2024-10-01 05:02:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将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)

Tags: csvnamerefiddbsqldatecursor
1条回答
网友
1楼 · 发布于 2024-10-01 05:02:33

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

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

相关问题 更多 >