Expasys BI
Руководство пользователя (версия 2023.2)
×

Извлечение данных

 
Для начала импортируйте необходимые библиотеки - Pandas для работы с таблицами и Pymssql для работы с СУБД MsSql.
import pandas as pd
import pymssql
Далее нужно подключиться к базе данных с помощью pymssql.connect().
con = pymssql.connect(server='server',
                       user='user',
                       password='password',
                       database='database')
cur = con.cursor()
Если вы не знаете точное название таблицы, которая вам нужна, можно получить список доступных таблиц, используя следующий скрипт.
cur.execute('SELECT * FROM INFORMATION_SCHEMA.TABLES')
tables = cur.fetchall()
tables
Чтобы выгрузить таблицу из базы данных можно использовать следующий шаблон, в котором вместо user и TableName нужно вписать имя пользователя, указанное в параметрах подключения к СУБД и название нужной вам таблицы из списка доступных таблиц соответственно:
cur.execute("SELECT * FROM [database].[dbo].[TableName]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='TableName'")
columns=cur.fetchall()
Пример получения таблицы "РегистрыСведений.СостояниеСтудентов":
cur.execute("SELECT * FROM [database].[dbo].[РегистрыСведений.СостояниеСтудентов]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='РегистрыСведений.СостояниеСтудентов'")
columns=cur.fetchall()
student=pd.DataFrame(tupples, columns=pd.DataFrame(columns)[0])
Пример получения таблицы "Справочники.УчебныеГруппы":
cur.execute("SELECT * FROM [database].[dbo].[Справочники.УчебныеГруппы]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='Справочники.УчебныеГруппы'")
columns=cur.fetchall()
employee=pd.DataFrame(tupples, columns=pd.DataFrame(columns)[0])
Пример получения таблицы "Документы.КадровоеПеремещение.Сотрудники":
cur.execute("SELECT * FROM [database].[dbo].[Документы.КадровоеПеремещение.Сотрудники]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='Документы.КадровоеПеремещение.Сотрудники'")
columns=cur.fetchall()
employee=pd.DataFrame(tupples, columns=pd.DataFrame(columns)[0])
Пример получения таблицы "Expasys_РегистрыСведений_Расписание_СрезПоследних":
cur.execute("SELECT * FROM [database].[dbo].[Expasys_РегистрыСведений_Расписание_СрезПоследних]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='Expasys_РегистрыСведений_Расписание_СрезПоследних'")
columns=cur.fetchall()
schedule=pd.DataFrame(tupples, columns=pd.DataFrame(columns)[0])
Пример получения таблицы "Документы.Учебный план":
cur.execute("SELECT * FROM [database].[dbo].[Документы.УчебныйПлан]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='Документы.УчебныйПлан'")
columns=cur.fetchall()
uch_plan=pd.DataFrame(tupples, columns=pd.DataFrame(columns)[0])
Пример получения таблицы "Документы.Ведомость.ДанныеПоАттестации":
cur.execute("SELECT * FROM [database].[dbo].[Документы.Ведомость.ДанныеПоАттестации]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='Документы.Ведомость.ДанныеПоАттестации'")
columns=cur.fetchall()
certification=pd.DataFrame(tupples, columns=pd.DataFrame(columns)[0])
Пример получения таблицы "Справочники.СтруктураУниверситета":
cur.execute("SELECT * FROM [database].[dbo].[Справочники.СтруктураУниверситета]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='Справочники.СтруктураУниверситета'")
columns=cur.fetchall()
structure=pd.DataFrame(tupples, columns=pd.DataFrame(columns)[0])