Unidad 2
CIENCIA DE DATOS CON PYTHON:
RECOLECCIÓN, ALMACENAMIENTO Y PROCESO
Fuente: adobestock/175199100
Autor:
Amaury Giovanni Méndez Aguirre
Certifica: Realiza:
ÍNDICE
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Códigos en Python para MongoDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Agregar datos a una base de Datos en MongoDB . . . . . . . . . . . . . . . . . . . . . . . . . 5
Consultas simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Introducción
INTRODUCCIÓN
Se debe diferenciar en este proceso
que crear una base de datos y hacer ope-
raciones con ellas son dos cosas aparte.
Para la primera no es necesario desa-
rrollar códigos, pero para la segunda, lo
conveniente es implementar códigos de
Python de bibliotecas específicas como
pymongo.
Códigos en Python para
MongoDB
Agregar datos a una base de Datos en MongoDB
El primer paso será instalar dos librerías especiales, pymongo y dnspython
!pip install pymongo dnspython
pymongo:
Biblioteca de Python con todos los módulos para realizar las
conexiones a las bases de datos MongoDB
dnspython:
Biblioteca de Python que resuelve las conexiones de red con
nombres de dominio
Figura 20
Fuente: propia
5
Ahora nuestro código para conectarnos a nuestra propia base de datos
from pymongo import MongoClient
import json
#creamos nuestra colección
#revisa cambiar la palabra <password> por la contraseña
datos
client = MongoClient(“mongodb+srv://ciencia:datos@cluster0.
ijw85oy.mongodb.net/?retryWrites=true&w=majority”)
#conectar a la colección datos
coleccion = client.ciencia.datos
#cargar el archivo JSON
with open(“notas.json”,encoding=”utf-8”) as archivo:
datosJson = json.load(archivo)
#insertar los datos en la base de datos
coleccion.insert_many(datosJson)
6
Figura 21
Fuente: propia
Al correr este código, recuerda cambiar la palabra
<password> por la contraseña adecuada. Observa que al MongoClient:
código original se le ha hecho un cambio al llamar la clase Clase que permite la conexión a la
.MongoClient( ) suprimiendo la palabra pymongo, ya que base de datos MongoDB
en la primera línea estamos indicando que importamos insert_many:
directamente este método. Como los documentos son los Método de la clase MongoClient
que permite la inserción de varios
registros o filas para nuestra base de datos, es importante registros a la vez, cargados princi-
que éstos estén en formato JSON o que estén en tipo de palmente de objetos o documentos
con formato JSON
diccionario. Usaremos en este ejemplo el archivo notas.
json para cargar los datos. Finalmente, con el método
.insert_many( ) podremos cargar todos los datos del documento JSON
7
Figura 22
Fuente: propia
Si vamos nuevamente a nuestra pantalla de Mongo Atlas, y damos clic en el botón
REFRESH, observarás que los datos ya se encuentran en la nube
Consultas simples
Para realizar consultas, es importante primero que existan datos, luego de ésto, se
puede mantener la conexión o simplemente iniciar una nueva, el código a continua-
ción puede ser una forma de lograr nuevamente la conexión para recuperar los datos
almacenados
8
from pymongo import MongoClient
import json
#creamos nuestra colección
#revisa cambiar la palabra <password> por la contraseña datos
client = MongoClient(“mongodb+srv://ciencia:datos@cluster0.
ijw85oy.mongodb.net/?retryWrites=true&w=majority”)
#conectar a la colección datos
coleccion = client.ciencia.datos
#recuperar todos los datos
datos = coleccion.find()
for d in datos:
print(d)
Figura 23
Fuente: propia
9
El método .find( ) será el encargado de
traer toda la información a nuestro programa.
Ahora, tendremos nuestros datos en un objeto
y podremos realizar el filtrado por medio de
sus claves. Si queremos recuperar los datos
de cada documento por su clave Física, sim-
plemente podremos hacer lo siguiente
find:
Método de la clase MongoClient que permite recuperar
todos los datos de una base de datos y los carga como
objeto pymongo. Pueden ser trabajados como diccio-
narios
Figura 24
Fuente: propia
De esta forma, ya tendremos los datos
recuperados. Por tanto, conviene conocer con
anterioridad la estructura de los datos alma-
cenados, pues su recuperación se realizará
por medio de las claves como si de un objeto
tipo diccionario de Python se tratase
10
Conclusiones
Python ha simplificado en gran medida el
acceso a las bases de datos y en este caso,
a una base de datos NoSQL. Recuerde que la
mejor manera es trabajar con los datos tipo
diccionario o JSON para tener compatibili-
dad con la base de datos MongoDB. Métodos
como .insert_many( ) o .find( ) de la biblioteca
pymongo facilitan al programador la mayoría
de tareas relacionadas con bases de datos.
De esta manera, al recuperar los datos, podrá
trabajarlos con índices de clave como sucede
con los diccionarios para realizar las consul-
tas que se requieran.
Lectura recomendada
Te invito a realizar las siguientes
lecturas complementarias:
• ¿Qué es MongoDB?
MongoDB
• Welcome to the MongoDB
Documentation
MongoDB
11
BIBLIOGRAFÍA
García, J. (2018). Ciencia De Datos. Técnicas Analíticas Y Aprendizaje
Estadístico. Un Enfoque Práctico - Jesús García.pdf [6ng22yvvd2lv]. Idoc.
pub. Recuperado de https://idoc.pub/documents/idocpub-6ng22yvvd2lv.
Python Tutorial. W3schools.com. (2022). Retrieved 31 August 2022, from
https://www.w3schools.com/python/default.asp.