¿Cómo obtener datos de la base de datos en Python? Importación de datos usando Python
Publicado: 2021-03-09El análisis de datos es una habilidad esencial para los jóvenes graduados, ingenieros y gerentes en el entorno laboral actual impulsado por la tecnología. En este artículo, cubriremos cómo obtener datos de una base de datos en python y lo pondremos al día sobre algunos conceptos fundamentales.
Tabla de contenido
Extracción de datos con base de datos Python
La extracción de datos implica recuperar datos de varias fuentes y, a veces, procesarlos más y migrarlos a repositorios para un análisis más detallado. Entonces, algún tipo de transformación de datos ocurre en el proceso. Y Python es uno de los principales lenguajes de programación para tales tareas de ciencia de datos. Hay alrededor de 8,2 millones de usuarios de este lenguaje de secuencias de comandos y de propósito general en todo el mundo.
En la siguiente guía, analizaremos los métodos de extracción utilizando PostgreSQL, un sistema de base de datos relacional de código abierto. Proporciona una función ROW_TO_JSON que devuelve los conjuntos de resultados como objetos JSON, que están rodeados por llaves {}. Los tipos de datos JSON lo ayudarían a manipular los resultados de las consultas de manera más conveniente. Pero antes de comenzar, asegúrese de haber instalado un entorno virtual, como psycopg2-binary.
Conceptos básicos de la base de datos de Python
Suponga que tiene una base de datos PostgreSQL de la Liga Nacional de Fútbol Americano (NFL). Esto incluiría información sobre las mesas de los jugadores, entrenadores y equipos. Además, tenga en cuenta los siguientes detalles para obtener información sobre los datos almacenados:
- La tabla de datos de los jugadores contiene detalles como athelete_id, que es la clave principal, los nombres y apellidos de los jugadores, los números de camiseta, el peso (en kg), la altura (en m) y su país de origen. También contiene el team_id, una clave externa que indica el equipo de cada atleta.
- La tabla de datos de los entrenadores tiene coach_id (clave principal), junto con el nombre y apellido, y team_id (una clave externa que hace referencia al campo de la tabla de equipos).
- Finalmente, está la tabla de equipos que describe cada equipo de fútbol con un nombre, conferencia, su rango y el total de victorias y derrotas (bifurcado en 'local' y 'visitante'). Aquí, la clave principal es team_id, a la que se hace referencia en las tablas anteriores.
Ahora que está familiarizado con el conjunto de datos, exploremos cómo escribir una consulta SQL para recuperar una lista de equipos. Por ejemplo, necesita equipos de fútbol ordenados según su conferencia y rango. También desea extraer la cantidad de atletas o jugadores en cada equipo junto con los nombres de sus entrenadores. También es posible que desee saber el número de victorias y derrotas de los equipos, tanto en casa como fuera.
Siga los pasos a continuación para iniciar este proceso:
SELECCIONE
f.nombre,
f.ciudad,
f.conferencia,
f.conference_rank,
COUNT(a.player_id) COMO numero_de_atletas,
CONCAT(c.first_name, ' ', c.last_name) AS coach,
f.home_wins,
f.way_wins
DE atletas a, equipos f, entrenadores c
DONDE a.team_id = f.team_id
Y c.equipo_id = f.equipo_id
GROUP BY f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins
ORDENAR POR f.conference, f.conference_rank
Después de esto, puede deformar la consulta dentro de la función JSON que mencionamos anteriormente (ROW_TO_JSON). Esto guardará los datos en un archivo llamado query.sql en su directorio actual. Ahora, continúa con los pasos que se indican a continuación.
SELECCIONE ROW_TO_JSON(team_info) DESDE (
SELECCIONE
f.nombre,
f.ciudad,
f.conferencia,
f.conference_rank,
COUNT(a.athelete_id)AS number_of_atheletes,
CONCAT(c.first_name, ' ', c.last_name) AS coach,
f.home_wins,
f.way_wins
DE atletas a, equipos f, entrenadores c
DONDE a.team_id = f.team_id
Y c.equipo_id = f.equipo_id
GROUP BY f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins
ORDENAR POR f.conference, f.conference_rank
) AS info_equipo
Observará que cada fila tiene la estructura de un diccionario de python. Las claves son solo los nombres de campo devueltos por su consulta.
Además, para evitar exponer sus variables de entorno a plena vista, puede aplicar algunos cambios a sus archivos de inicialización. Elija cualquiera de los siguientes métodos, según sus necesidades:
- Para Windows: Panel de control → Sistema → Configuración avanzada del sistema → Pestaña Avanzado → Variables de entorno.
- Para un entorno similar a Unix: agregue dos líneas sobre su nombre de usuario y contraseña a su archivo de inicialización.
Con esto, ya está todo listo para escribir código python. Al principio, importaremos algunos módulos y funciones para evitar errores. Estas declaraciones pueden ayudarlo a lograr eso:
importar sistema operativo
importar psycopg2 como p
de error de importación psycopg2
Luego, instanciaremos la conexión cargando el contenido de query.sql. Abra el archivo de la base de datos SQL con los comandos de apertura y lectura, y conéctese con la base de datos de la NFL mediante la función de conexión especificando el usuario, la contraseña, el host y el número de puerto de la base de datos.
Lea también: Proyectos de Python en GitHub
¿Cómo obtener datos de una base de datos en Python?
Una vez que haya establecido la conexión con la base de datos, puede continuar con la ejecución de la consulta. Necesita usar una estructura de control llamada 'cursor'. Es tan fácil como escribir “cursor = conn.cursor()” y posteriormente, “cursor.execute(query)”. El resultado contendría una lista de tuplas (un elemento) en formato de diccionario.
resultado = cursor.fetchall()
En esta etapa, puede intentar iterar sobre el resultado. Puede manipular los contenidos como desee, insertarlos o introducirlos en hojas de cálculo, tablas HTML, etc. No olvide envolver y limpiar su código mientras termina. Puede hacerlo con un bloque try-except-y agregando una oración 'finally'.
Cuando maneja grandes conjuntos de datos, relacionales o de otro tipo, siente la necesidad de algunas herramientas básicas para consultar las tablas, especialmente cuando también desea manipular los resultados. Tal transformación de datos es fácil de lograr con python.
Por lo tanto, la mayoría de los programas de estudio de posgrado incluyen el conocimiento de estas técnicas como parte del plan de estudios. Algunos ejemplos incluyen el Diploma Asociado en Ciencia de Datos (IIIT-Bangalore) y el Certificado de Maestría Global en Análisis de Negocios (Universidad Estatal de Michigan).
Pago: Ideas de proyectos de código abierto de Python
Conclusión
En este tutorial de base de datos de Python , aprendimos cómo conectar una base de datos relacional, ejecutar consultas e importar resultados. Puedes hacer mucho más con python y adaptar tu código para hacer las cosas que deseas.
¡Esperamos que esta guía te haya ayudado a encontrar algo de claridad y haya despertado tu curiosidad!
Aprenda cursos de ciencia de datos de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
¿Cómo extrae datos de una API usando solicitudes de Python?
Cuando desea recibir datos de una API, debe realizar una solicitud desde el servidor, al igual que cuando interactúa con sitios web convencionales. Necesitaremos usar el paquete de solicitudes para obtener datos de una API usando Python. En Python, Requests es la biblioteca estándar para realizar solicitudes HTTP. Debido a sus abstracciones, es realmente fácil de usar, especialmente cuando se trabaja con API.
Cuando usamos la biblioteca de solicitudes para ejecutar una solicitud, obtenemos un objeto de solicitud que contiene los datos que queremos extraer, así como un código de estado de solicitudes. El código de estado nos informa sobre el estado de la solicitud y es parte de cada solicitud que hacemos. Dependiendo de la información que devuelvan, los códigos se dividen en cientos de valores diferentes.
¿Cómo conectar SQLite con Python?
un. Debemos importar sqlite3 para usar SQLite.
B. Luego, utilizando el método de conexión, realice una conexión y proporcione el nombre de la base de datos a la que desea acceder; si existe un archivo con ese nombre, se abrirá. Python creará un archivo con el nombre proporcionado si no especifica uno.
C. A continuación, se crea un objeto de cursor que puede enviar comandos SQL. Cursor es una estructura de control para atravesar y recuperar registros de bases de datos. Cuando se trata de Python, el cursor es realmente importante. El objeto cursor se utilizará para ejecutar todos los comandos.
D. Cree un objeto y escriba la instrucción SQL en él con comentarios para crear una tabla en la base de datos. Ejemplo: - sql_comm = instrucción SQL.
mi. Y ejecutar el comando es muy sencillo. Ejecute el método del cursor, pasando el nombre del comando sql como argumento. Guarde una lista de comandos como la variable sql_comm y ejecútelos. Una vez que haya completado todas sus tareas, guarde las modificaciones en el archivo confirmándolas y luego desconéctese.
¿Python es bueno para las bases de datos?
Python es especialmente adecuado para datos tabulares estructurados que se pueden obtener con SQL pero que luego requieren una manipulación adicional que sería difícil de lograr solo con SQL.