我从一个数据库读取并将某些列输出到另一个数据库。 我使用数据帧来存储数据,然后遍历帧以输出我感兴趣的列。
for i in range(0,len(myframe.index)):
cursor_conn2.execute(SQL2_UPD_NEWEMP,myframe.loc[i,"LNAME_EMP"])
但我一直收到错误:
raise TypeError("Params must be in a list, tuple, or Row")
这是SQL2_UPD_NEWEMP:
SQL2_UPD_NEWEMP="INSERT INTO DBO.NEW_EMP_CAL(LNAME) VALUES(?)"
框架中有数据。 113行,LNAME_EMP是有效名称,每行包含数据。
这应该很简单,但是我没有看到错误发生在哪里,这让我感到难过。
当我运行此代码时,我会看到所有数据:
for i in range(0,len(myframe.index)):
print(myframe.loc[i,"LNAME_EMP"])
任何帮助将不胜感激。谢谢!
答案 0 :(得分:2)
目前,您正在传递标量作为参数。但是,由于错误明确提到,您的参数必须是可迭代的,例如元组:
cursor_conn2.execute(SQL2_UPD_NEWEMP, (myframe.loc[i,"LNAME_EMP"],))
或列表:
cursor_conn2.execute(SQL2_UPD_NEWEMP, [myframe.loc[i,"LNAME_EMP"]])