将数据帧写入 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"]])
我正在从一个数据库读取并将某些列输出到另一个数据库。 我使用数据框来存储数据,然后遍历该框架以输出我感兴趣的列。:
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"]])