除了以下内容外,脚本可以正确插入任意数量的表:
遵循与成功创建的其他表相同的格式。我不确定为什么要标识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
答案 0 :(得分:0)
当我将 NAN 值插入到 db 时出现此错误,我们的一些操作在插入到 db 之前将整数值转换为 nan。
如果您的 db 列不支持 int 或 real 值的 nan 或 inf,请不要将这些插入到 db。