将数据帧写入 sql table

writing data frames to a sql table

我正在从一个数据库读取并将某些列输出到另一个数据库。 我使用数据框来存储数据,然后遍历该框架以输出我感兴趣的列。:

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"])

如有任何帮助,我们将不胜感激。谢谢!

目前,您正在传递一个标量作为参数。但是正如错误清楚地提到的那样,您的参数必须是可迭代的,例如 tuple:

cursor_conn2.execute(SQL2_UPD_NEWEMP, (myframe.loc[i,"LNAME_EMP"],))

或列表:

cursor_conn2.execute(SQL2_UPD_NEWEMP, [myframe.loc[i,"LNAME_EMP"]])