首页 > 解决方案 > 根据数据框中给出的值从 SQL 中检索数据

问题描述

我在 python“df”中有一个数据框,其中包含供应商名称。此外,我有一个 sql 数据库,其中我有供应商名称作为该领域的名称。我只想要那些与 python 中的数据框中给出的名称相匹配并且在特定给定日期之间的记录。我使用的代码如下所示。

df= pd.read_excel('Vendor_Name.xlsx')
df['Vendor_Name']=df['Vendor_Name'].astype(str)
cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
                              "Server=server1;"
                              "Database=sales;"
                              "uid="+uid+";pwd="+pwd)
df1=pd.read_sql(("SELECT * FROM sales.dbo.allsales WHERE [Vendor Name] in '"+df+"'and tranDate >= '"+from_date+"' and tranDate <= '"+to_date+"'"),cnxn)

我运行上面代码的最后一行时的错误是

The first argument to execute must be a string or unicode query.

需要帮助了解我在上述情况下所犯的错误。

标签: python-3.xpandas

解决方案


推荐阅读