Извлечение данных
Для начала импортируйте необходимые библиотеки - 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].[AchievementGroups]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='AchievementGroups'")
columns=cur.fetchall()
achievement_groups=pd.DataFrame(tupples, columns=pd.DataFrame(columns)[0])
|
Пример получения таблицы c уровнями образования:
cur.execute("SELECT * FROM [database].[dbo].[EducationLevels]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='EducationLevels'")
columns=cur.fetchall()
education_levels=pd.DataFrame(tupples, columns=pd.DataFrame(columns)[0])
|
Пример получения таблицы c пользователями:
cur.execute("SELECT * FROM [database].[dbo].[LMS_Users]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='LMS_Users'")
columns=cur.fetchall()
lms_users=pd.DataFrame(tupples, columns=pd.DataFrame(columns)[0])
|
Пример получения таблицы c типами достижений:
cur.execute("SELECT * FROM [database].[dbo].[TypeOfAchievements]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='TypeOfAchievements'")
columns=cur.fetchall()
type_of_achievements=pd.DataFrame(tupples, columns=pd.DataFrame(columns)[0])
|
Пример получения таблицы с достижениями пользователей:
cur.execute("SELECT * FROM [database].[dbo].[UserAchievements]")
tupples = cur.fetchall()
cur.execute("SELECT COLUMN_NAME AS [columns] FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='UserAchievements'")
columns=cur.fetchall()
user_achievements=pd.DataFrame(tupples, columns=pd.DataFrame(columns)[0])
|