pyodbc中的sql多结果集计数器

fnatzsnv  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(290)

这篇文章的想法Pandas是否支持将多个表中的数据读入一个数据框?在这个例子中,我已经硬编码了我的db调用,因为我知道有 k=4 结果集。我的代码是:

conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
csr = conn.cursor()
csr.execute(query)
column_names = [col[0] for col in csr.description]
df1 = []
for row in csr.fetchall():
    df1.append({name: row[i] for i, name in enumerate(column_names)})    
df1 = pd.DataFrame(df1)    

csr.nextset()
column_names = [col[0] for col in csr.description]
df2 = []
for row in csr.fetchall():
    df2.append({name: row[i] for i, name in enumerate(column_names)})
df2 = pd.DataFrame(df2)  

csr.nextset()
column_names = [col[0] for col in csr.description]
df3 = []
for row in csr.fetchall():
    df3.append({name: row[i] for i, name in enumerate(column_names)})
df3 = pd.DataFrame(df3)

csr.nextset()
column_names = [col[0] for col in csr.description]
df4 = []
for row in csr.fetchall():
    df4.append({name: row[i] for i, name in enumerate(column_names)})
df4 = pd.DataFrame(df4)  

csr.close()
conn.close()

不过,我想整理一下,还要解释一个未知数量的结果集。有没有一种方法来计算将发送多少个结果集,这样我就可以组织这些代码并循环整个过程 k 结果集?
我想我可以放点东西进去 while csr.nextset() 但是我想提前创建一些对象来存储内容,因此,如果可能的话,知道要返回的结果集的数量是非常理想的。
谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题