sqlite3创建表-OperationalError:无此类列:nan

时间:2019-11-07 22:17:00

标签: python sqlite nan create-table

除了以下内容外,脚本可以正确插入任意数量的表: 遵循与成功创建的其他表相同的格式。我不确定为什么要标识nan列。

create_wealth_income_top_decile ="""
CREATE TABLE wealth_income_top_decile(
    id SERIAL PRIMARY KEY,
    "year" INT,
    "income_top_10" REAL,
    "wealth_top_10" REAL
                                    );
                                """                                    

cursor.execute(create_wealth_income_top_decile)

""" Use for loop to populate table with tuples from csv """
for i in wealth_inc_data.to_records(index=False):
    insertinfo_2 ="""
        INSERT INTO wealth_income_top_decile(
                                        year, 
                                        income_top_10,
                                        wealth_top_10
                                        )
                                        VALUES
                                        """+str(i) + ';'
    cursor.execute(insertinfo_2)                                    

cursor.close()
CONN.commit()

这是我得到的错误:

  

中的文件“ create_db.py”,第67行      

cursor.execute(insertinfo_2)

     

sqlite3.OperationalError:无此类列:nan

Example data

1 个答案:

答案 0 :(得分:0)

当我将 NAN 值插入到 db 时出现此错误,我们的一些操作在插入到 db 之前将整数值转换为 nan。

如果您的 db 列不支持 int 或 real 值的 nan 或 inf,请不要将这些插入到 db。