Python Pandas read_sql_query“'NoneType'对象不可iterable”

2024-05-29 00:16:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图执行一个sql并将结果保存到Panda数据框中。这是我的密码。

        dbserver = 'validserver'
        filename = 'myquery.sql'
        database  ='validdb'       
        conn = pyodbc.connect(r'Driver={SQL Server};Server=' + dbserver + 
            ';Database=' + database + ';Trusted_Connection=yes;')
        fd = open(filename, 'r')
        resultingData = pd.read_sql_query(fd.read(),conn)
        fd.close()
        conn.close()

pd.read_sql_query(fd.read(),conn)行继续给出错误信息 “NoneType”对象不可iterable“错误

我可以在带有结果的sql server窗口中运行myquery.sql。我确实有SET NOCOUNT ON;

有什么线索我在这里遗漏了什么,我该如何调试?myquery.sql几乎没有临时表和连接。结果有大约75k行。谢谢大家。

更新:

我无法发布确切的查询,但这就是查询的外观。

SET NOCOUNT ON;

SELECT SourceID, PeriodEndDate = MAX(PeriodEndDate)
INTO #SourceDate 
FROM table1
WHERE PERIODENDDATE <= 20171229
GROUP BY SourceID

SELECT RS.*, R.TypeCode INTO #final
FROM table2 RS
INNER JOIN #SourceDate SD ON SD.id = RS.id
INNER JOIN table3 R ON R.id = RS.id

select * from #final

Tags: idclosereadsqlserveronfilenameconn

热门问题