Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este inicio rápido, utiliza Jupyter Notebook en Visual Studio Code para obtener rápidamente información empresarial. Usa el mssql-python controlador de Python para conectarte a tu base de datos SQL, leer los datos y luego formatearlos para usarlos en correos electrónicos, informes y presentaciones.
El mssql-python controlador no requiere ninguna dependencia externa en máquinas Windows. El controlador instala todo lo que necesita con una sola pip instalación, lo que le permite usar la versión más reciente del controlador para nuevos scripts sin interrumpir otros scripts que no tenga tiempo para actualizar y probar.
Documentación
Prerrequisitos
Python 3.10 o posterior
Si aún no tiene Python, instale el entorno de ejecución de Python y el administrador de paquetes pip desde python.org.
¿No desea usar su propio entorno? Sigue las instrucciones de Contenedores y desarrollo local para crear un devcontainer reproducible o un entorno de GitHub Codespaces.
Visual Studio Code con las siguientes extensiones:
Interfaz de Azure Command-Line (CLI) para la autenticación sin contraseña en macOS y Linux.
Si aún no tiene
uv, siga las instrucciones de instalación.Una base de datos en SQL Server, Azure SQL Database o SQL Database en Fabric con el
AdventureWorks2025esquema de ejemplo y una cadena de conexión válida.Instale requisitos previos específicos del sistema operativo de un solo uso.
Creación de una base de datos SQL
Crea o conéctate a una base de datos SQL en una de las siguientes plataformas:
Creación del proyecto y ejecución del código
- Creación de un nuevo proyecto
- Agregar dependencias
- Inicio de Visual Studio Code
- Actualizar pyproject.toml
- Guardar la cadena de conexión
- Creación de un cuaderno de Jupyter Notebook
- Mostrar los resultados en una tabla
- Mostrar los resultados en un gráfico
Creación de un nuevo proyecto
Abra una ventana del terminal en el directorio de desarrollo. Si no tienes uno, crea un nuevo directorio, como
pythonoscripts. Evita las carpetas en tu OneDrive, ya que la sincronización puede interferir en la gestión de tu entorno virtual.Cree un proyecto con
uv.uv init jupyter-notebook-qs cd jupyter-notebook-qs
Agregar dependencias
En el mismo directorio, instale los mssql-pythonpaquetes , python-dotenv, rich, pandasy matplotlib . A continuación, agregue ipykernel y uv como dependencias de desarrollo. VS Code requiere ipykernel para ejecutar celdas del cuaderno y uv para gestionar paquetes desde las celdas del cuaderno.
uv add mssql-python python-dotenv rich pandas matplotlib
uv add --dev ipykernel
uv add --dev uv
Iniciar Visual Studio Code
En el mismo directorio, ejecute el siguiente comando.
code .
Actualizar pyproject.toml
Pyproject.toml contiene los metadatos del proyecto.
Actualice la descripción para que sea más descriptivo.
description = "A quick example using the mssql-python driver and Jupyter Notebooks."Guarde y cierre el archivo.
Guardar la cadena de conexión
Abra el
.gitignorearchivo y agregue una exclusión para.envlos archivos. El archivo debe ser similar a este ejemplo. Asegúrese de guardarlo y cerrarlo cuando haya terminado.# Python-generated files __pycache__/ *.py[oc] build/ dist/ wheels/ *.egg-info # Virtual environments .venv # Connection strings and secrets .envEn el directorio actual, cree un nuevo archivo denominado
.env.En el
.envarchivo, agregue una entrada para la cadena de conexión denominadaSQL_CONNECTION_STRING. Reemplace el ejemplo aquí por el valor real de la cadena de conexión.SQL_CONNECTION_STRING="Server=<server_name>;Database=<database_name>;Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"Sugerencia
La cadena de conexión que se usa aquí depende en gran medida del tipo de base de datos SQL a la que se conecta. Si se conecta a una base de datos de Azure SQL o a una base de datos SQL en Fabric, use la cadena de conexión ODBC de la pestaña Cadenas de conexión. Es posible que tenga que ajustar el tipo de autenticación en función de su escenario. Para obtener más información sobre las cadenas de conexión y su sintaxis, consulte referencia de sintaxis de cadena de conexión.
Creación de un cuaderno de Jupyter Notebook
Seleccione Archivo y, a continuación, Nuevo archivo y Jupyter Notebook en la lista. Se abre un nuevo cuaderno.
Seleccione Archivo y, después, Guardar como... y asigne un nombre al nuevo cuaderno.
Agregue las siguientes importaciones en la primera celda.
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 pltUse el botón + Markdown situado en la parte superior del cuaderno para agregar una nueva celda markdown.
Agregue el texto siguiente a la nueva celda markdown.
## Define queries for use laterSeleccione la marca de verificación en la barra de herramientas de celda o use los métodos abreviados
Ctrl+Enterde teclado oShift+Enterpara representar la celda markdown.Use el botón + Código en la parte superior del cuaderno para agregar una nueva celda de código.
Agregue el código siguiente a la nueva celda de código.
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; """
Mostrar los resultados en una tabla
Use el botón + Markdown situado en la parte superior del cuaderno para agregar una nueva celda markdown.
Agregue el texto siguiente a la nueva celda markdown.
## Print orders by customer and display in a tableSeleccione la marca de verificación en la barra de herramientas de celda o use los métodos abreviados
Ctrl+Enterde teclado oShift+Enterpara representar la celda markdown.Use el botón + Código en la parte superior del cuaderno para agregar una nueva celda de código.
Agregue el código siguiente a la nueva celda de código.
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)Sugerencia
En macOS, tanto
ActiveDirectoryInteractivecomoActiveDirectoryDefaultfuncionan para la autenticación de Microsoft Entra.ActiveDirectoryInteractivele pide que inicie sesión cada vez que ejecute el script. Para evitar que se repitan las indicaciones de inicio de sesión, inicia sesión una vez a través de la CLI de Azure ejecutandoaz login, y luego usaActiveDirectoryDefault, que reutiliza la credencial almacenada en caché.Utiliza el botón Ejecutar todo en la parte superior del cuaderno para ejecutar el cuaderno.
Seleccione el kernel jupyter-notebook-qs cuando se le solicite.
Mostrar los resultados en un gráfico
Revise la salida de la última celda. Debería ver una tabla con tres columnas y cinco filas.
Use el botón + Markdown situado en la parte superior del cuaderno para agregar una nueva celda markdown.
Agregue el texto siguiente a la nueva celda markdown.
## Display spend by category in a horizontal bar chartSeleccione la marca de verificación en la barra de herramientas de celda o use los métodos abreviados
Ctrl+Enterde teclado oShift+Enterpara representar la celda markdown.Use el botón + Código en la parte superior del cuaderno para agregar una nueva celda de código.
Agregue el código siguiente a la nueva celda de código.
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'])Use el botón Ejecutar celda o
Ctrl+Alt+Enterpara ejecutar la celda.Revise los resultados. Haz que este bloc de notas sea tuyo.
Pasos siguientes
Utiliza estos artículos para seguir creciendo:
- Crea cadenas de conexión para configurar conexiones para diferentes tipos de bases de datos SQL y métodos de autenticación.
- integración con pandas para cargar los resultados de consultas directamente en DataFrames para su análisis en cuadernos.
- Integración de Arrow para trabajar con datos en columnas mediante Apache Arrow para análisis de alto rendimiento.