Должен сказать, что я новичок в питоне.
У меня есть хранимая процедура SQL, которая возвращает две таблицы.
Как сохранить каждую таблицу в отдельном фрейме данных: что-то вроде
df1 = первая таблица
df2 = вторая таблица
Приведенный ниже код возвращает один фрейм данныхс двумя таблицами, как я могу изменить код и вернуть два кадра данных?
Благодаря @GordThompson я смог получить один кадр данных с двумя таблицами (выходными данными)
Теперь вместоцикл, как-то мне просто нужно создать df1
, а затем вызвать nextset()
.Затем создайте df2
и позвоните nextset()
и т. Д.
Но я не могу понять, где разместить правильный код для достижения этой цели.Пожалуйста, помогите.
import pandas as pd
import pyodbc
from datetime import datetime
myparam = datetime.strptime('Jul 31 2019 1:33PM', '%b %d %Y %I:%M%p')
query = "{call [dbo].PythonTest_USIC_TreatyYear_ReportingPackage(?)}"
conn = pyodbc.connect('DRIVER={SQL Server};server=myserver;DATABASE=mydb;Trusted_Connection=yes;')
data_frames = []
cursor = conn.cursor()
cursor.execute(query, myparam)
result = cursor.fetchall()
#print(result)
while result:
col_names = [x[0] for x in cursor.description] # this gives a tuple of tuples where where [0] for each is the column header
data = [tuple(x) for x in result] # convert pyodbs.Row objects to tuples
data_frames.append(pd.DataFrame(data, columns=col_names))
if cursor.nextset()==True:
result = cursor.fetchall()
else:
result = None
for df in data_frames: #looping through data_frames
print(df)
print()
cursor.close()
conn.close()
![enter image description here](https://i.stack.imgur.com/4RJYG.png)