Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этом кратком руководстве вы используете Jupyter Notebook в Visual Studio Code для быстрого получения бизнес-аналитики. Вы используете mssql-python драйвер для Python для подключения к базе данных SQL и считываете данные, которые затем форматируются для использования в сообщениях электронной почты, презентациях отчетов и т. д.
Драйвер mssql-python не требует внешних зависимостей на компьютерах Windows. Драйвер устанавливает все, что требуется с одной pip установкой, что позволяет использовать самую последнюю версию драйвера в новых сценариях без нарушения работы других сценариев, для обновления и тестирования которых у вас нет времени.
Документация по mssql-python | Пакет (PyPi) | Visual Studio Code
Предпосылки
Python 3
Если у вас еще нет Python, установите среду выполнения Python и менеджер пакетов Python Package Index (PyPI) из python.org.
Предпочитаете обходиться без использования собственной среды? Откройте в качестве контейнера для разработки с помощью GitHub Codespaces.
Visual Studio Code со следующими расширениями:
Если у вас еще нет
uv, установитеuv, следуя инструкциям из https://docs.astral.sh/uv/getting-started/installation/.База данных на SQL Server, Azure SQL Database или базе данных SQL в Fabric с примерной схемой
AdventureWorks2025и допустимой строкой подключения.Установите единовременные предварительные условия для операционной системы.
apk add libtool krb5-libs krb5-dev
Создание базы данных SQL
Для этого быстрого старта требуется упрощенная схема AdventureWorks2025 в Microsoft SQL Server, базе данных Fabric SQL или базе данных Azure SQL.
Создание проекта и запуск кода
- Создание проекта
- Добавление зависимостей
- Запуск Visual Studio Code
- Обновление pyproject.toml
- Сохранение строки подключения
- Создание записной книжки Jupyter
- Отображение результатов в таблице
- Отображение результатов на диаграмме
Создание нового проекта
Откройте командную строку в каталоге разработки. Если у вас нет одного, создайте новый каталог с именем
python,scriptsи т. д. Избегайте папок в OneDrive, синхронизация может препятствовать управлению виртуальной средой.Создайте новый проект с
uv.uv init jupyter-notebook-qs cd jupyter-notebook-qs
Добавление зависимостей
В том же каталоге установите mssql-python,python-dotenvrich, pandasи matplotlib пакеты. Затем добавьте ipykernel и uv в качестве зависимостей разработки. VS Code требует, чтобы ipykernel и uv были добавлены для взаимодействия с ячейками записной книжки uv с помощью таких команд, как !uv add mssql_python.
uv add mssql_python dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Запустите Visual Studio Code.
В том же каталоге выполните следующую команду.
code .
Обновление pyproject.toml
Pyproject.toml содержит метаданные проекта.
Обновите описание, чтобы быть более описательным.
description = "A quick example using the mssql-python driver and Jupyter Notebooks."Сохраните и закройте файл.
Сохранение строки подключения
.gitignoreОткройте файл и добавьте исключение для.envфайлов. Файл должен быть похож на этот пример. Не забудьте сохранить и закрыть его после завершения.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envВ текущем каталоге создайте новый файл с именем
.env.В файле
.envдобавьте запись для строки подключения с именемSQL_CONNECTION_STRING. Замените пример фактическим значением строки подключения.SQL_CONNECTION_STRING="Server=<server_name>;Database={<database_name>};Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"Подсказка
Строка подключения, используемая здесь, в значительной степени зависит от типа базы данных SQL, к которой вы подключаетесь. Если вы подключаетесь к базе данных SQL Azure или базе данных SQL в Fabric, используйте строку подключения ODBC на вкладке строк подключения. Возможно, вам потребуется настроить тип проверки подлинности в зависимости от вашего сценария. Дополнительные сведения о строках подключения и их синтаксисе см. в справочнике по синтаксису строки подключения.
Создание записной книжки Jupyter
Выберите "Файл", а затем "Создать файл " и "Записная книжка Jupyter" из списка. Откроется новая записная книжка.
Выберите файл, а затем сохраните как... и присвойте новой записной книжке имя.
Добавьте следующие импорты в первую ячейку.
from os import getenv from mssql_python import connect from dotenv import load_dotenv from rich.console import Console from rich.table import Table import pandas as pd import matplotlib.pyplot as pltНажмите кнопку +Markdown в верхней части записной книжки, чтобы добавить новую ячейку Markdown.
Добавьте следующий текст в новую ячейку Markdown.
## Define queries for use laterУстановите галочку на панели инструментов ячейки или используйте сочетание клавиш
Ctrl+EnterилиShift+Enter, чтобы отобразить ячейку Markdown.Нажмите кнопку +Code в верхней части записной книжки, чтобы добавить новую ячейку кода.
Добавьте следующий код в новую ячейку кода.
SQL_QUERY_ORDERS_BY_CUSTOMER = """ SELECT TOP 5 c.CustomerID, c.CompanyName, COUNT(soh.SalesOrderID) AS OrderCount FROM SalesLT.Customer AS c LEFT OUTER JOIN SalesLT.SalesOrderHeader AS soh ON c.CustomerID = soh.CustomerID GROUP BY c.CustomerID, c.CompanyName ORDER BY OrderCount DESC; """ SQL_QUERY_SPEND_BY_CATEGORY = """ select top 10 pc.Name as ProductCategory, SUM(sod.OrderQty * sod.UnitPrice) as Spend from SalesLT.SalesOrderDetail sod inner join SalesLt.SalesOrderHeader soh on sod.salesorderid = soh.salesorderid inner join SalesLt.Product p on sod.productid = p.productid inner join SalesLT.ProductCategory pc on p.ProductCategoryID = pc.ProductCategoryID GROUP BY pc.Name ORDER BY Spend; """
Отображение результатов в таблице
Нажмите кнопку +Markdown в верхней части записной книжки, чтобы добавить новую ячейку Markdown.
Добавьте следующий текст в новую ячейку Markdown.
## Print orders by customer and display in a tableУстановите галочку на панели инструментов ячейки или используйте сочетание клавиш
Ctrl+EnterилиShift+Enter, чтобы отобразить ячейку Markdown.Нажмите кнопку +Code в верхней части записной книжки, чтобы добавить новую ячейку кода.
Добавьте следующий код в новую ячейку кода.
load_dotenv() with connect(getenv("SQL_CONNECTION_STRING")) as conn: # type: ignore with conn.cursor() as cursor: cursor.execute(SQL_QUERY_ORDERS_BY_CUSTOMER) if cursor: table = Table(title="Orders by Customer") # https://rich.readthedocs.io/en/stable/appendix/colors.html table.add_column("Customer ID", style="bright_blue", justify="center") table.add_column("Company Name", style="bright_white", justify="left") table.add_column("Order Count", style="bold green", justify="right") records = cursor.fetchall() for r in records: table.add_row(f"{r.CustomerID}", f"{r.CompanyName}", f"{r.OrderCount}") Console().print(table)Подсказка
Чтобы использовать проверку подлинности Microsoft Entra в macOS, необходимо войти через расширение Azure Repos в Visual Studio Code или с помощью
az loginкомандной строки Azure (CLI).Нажмите кнопку "Запустить все" в верхней части записной книжки, чтобы запустить её.
При появлении запроса выберите ядро jupyter-notebook-qs .
Отображение результатов на диаграмме
Просмотрите выходные данные последней ячейки. Вы увидите таблицу с тремя столбцами и пятью строками.
Нажмите кнопку +Markdown в верхней части записной книжки, чтобы добавить новую ячейку Markdown.
Добавьте следующий текст в новую ячейку Markdown.
## Display spend by category in a horizontal bar chartУстановите галочку на панели инструментов ячейки или используйте сочетание клавиш
Ctrl+EnterилиShift+Enter, чтобы отобразить ячейку Markdown.Нажмите кнопку +Code в верхней части записной книжки, чтобы добавить новую ячейку кода.
Добавьте следующий код в новую ячейку кода.
with connect(getenv("SQL_CONNECTION_STRING")) as conn: # type: ignore data = pd.read_sql_query(SQL_QUERY_SPEND_BY_CATEGORY, conn) # Set the style - use print(plt.style.available) to see all options plt.style.use('seaborn-v0_8-notebook') plt.barh(data['ProductCategory'], data['Spend'])Нажмите кнопку "Выполнить ячейку " или
Ctrl+Alt+Enterдля запуска ячейки.Проверка результатов. Сделайте эту записную книжку собственной.
Следующий шаг
Посетите репозиторий mssql-python драйверов GitHub, чтобы получить дополнительные примеры, чтобы внести идеи или сообщить о проблемах.