我尝试使用下面数据框中的数据填充SQL中的表。当我使用具有完全相同的列和数据类型的其他数据帧时,代码按预期运行,但仅对于此数据帧,错误sqlalchemy.orm.exc.UnmappedInstanceError: Class 'builtins.list' is not mapped
来自行session.add([yc_node_hist(fk_yc_update = listofindices3[i],curve_date = row1['Date'], tenor = row1['Year'], Abrv = row1['VALUE'])])
。我正在使用automap()
将表yc_node_hist
映射到一个类。 我的主要问题是我无法理解错误的含义。
Date Year VALUE ABBRV
0 2005-01-04 0.08333333 4.709456 GBP
1 2005-01-05 0.08333333 4.713099 GBP
2 2005-01-06 0.08333333 4.707237 GBP
3 2005-01-07 0.08333333 4.705043 GBP
yc_node_hist
:
create table yc_node_hist
(
id bigint IDENTITY(1,1) PRIMARY KEY,
fk_yc_update bigint NOT NULL FOREIGN KEY REFERENCES yc_update(id),
curve_date date NOT NULL,
tenor float NOT NULL,
Abrv float NOT NULL
)
我正在使用的代码:
engine2 = YieldData.Connectionengine()
session = Session(bind=engine, expire_on_commit=False)
for (i1, row1), (i2, row2) in pairwise(df.iterrows()):
if row1['ABBRV'] == row2['ABBRV'] and isinstance(row1['VALUE'], float)==1:
print(row1)
session.add([yc_node_hist(fk_yc_update = listofindices3[i],curve_date = row1['Date'], tenor = row1['Year'], Abrv = row1['VALUE'])])