Como buscar dados do banco de dados em Python? Importando dados usando Python
Publicados: 2021-03-09A análise de dados é uma habilidade essencial para jovens graduados, engenheiros e gerentes no ambiente de trabalho atual liderado pela tecnologia. Neste artigo, abordaremos como buscar dados de um banco de dados em python e atualizar você em alguns conceitos fundamentais.
Índice
Extração de dados com banco de dados Python
A extração de dados envolve recuperar dados de várias fontes e, às vezes, processá-los ainda mais e migrá-los para repositórios para análise posterior. Então, algum tipo de transformação de dados acontece no processo. E python é uma das principais linguagens de programação para essas tarefas de ciência de dados. Existem cerca de 8,2 milhões de usuários dessa linguagem de uso geral e de script em todo o mundo.
No guia a seguir, discutiremos os métodos de extração usando o PostgreSQL, um sistema de banco de dados relacional de código aberto. Ele fornece uma função ROW_TO_JSON que retorna os conjuntos de resultados como objetos JSON, que são cercados por chaves {}. Os tipos de dados JSON ajudariam você a manipular os resultados da consulta de forma mais conveniente. Mas antes de começarmos, certifique-se de ter instalado um ambiente virtual, como psycopg2-binary.
Noções básicas de banco de dados Python
Suponha que você tenha um banco de dados PostgreSQL da American National Football League (NFL). Isso inclui informações sobre os jogadores, treinadores e tabelas das equipes. Além disso, observe os seguintes detalhes para obter informações sobre os dados armazenados:
- A tabela de dados dos jogadores contém detalhes como athelete_id, que é a chave primária, nome e sobrenome dos jogadores, números das camisas, peso (em kg), altura (em m) e seu país de origem. Ele também contém o team_id, uma chave estrangeira que indica a equipe de cada atleta.
- A tabela de dados nos treinadores tem coach_id (chave primária), junto com o nome e sobrenome, e team_id (uma chave estrangeira que faz referência ao campo da tabela das equipes).
- Finalmente, há a tabela das equipes que descreve cada time de futebol com um nome, conferência, sua classificação e o total de vitórias e derrotas (bifurcadas em 'casa' e 'fora'). Aqui, a chave primária é team_id, que é referenciada nas tabelas acima.
Agora que você está familiarizado com o conjunto de dados, vamos explorar como escrever uma consulta SQL para recuperar uma lista de equipes. Por exemplo, você precisa de times de futebol ordenados de acordo com sua conferência e classificação. Você também deseja extrair o número de atletas ou jogadores em cada equipe junto com os nomes de seus treinadores. Você também pode querer saber o número de vitórias e derrotas das equipes, tanto em casa quanto fora.
Siga os passos abaixo para iniciar este processo:
SELECIONAR
f.nome,
f.cidade,
f.conferência,
f.conference_rank,
COUNT(a.player_id) AS number_of_athletes,
CONCAT(c.first_name, ' ', c.last_name) AS treinador,
f.home_wins,
f.away_wins
DE atletas a, equipes f, treinadores c
ONDE a.team_id = f.team_id
E c.team_id = f.team_id
GROUP BY f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins
ORDER BY f.conference, f.conference_rank
Depois disso, você pode deformar a consulta dentro da função JSON que mencionamos anteriormente (ROW_TO_JSON). Isso salvará os dados em um arquivo chamado query.sql em seu diretório atual. Agora, continue com as etapas abaixo.
SELECT ROW_TO_JSON(team_info) FROM (
SELECIONAR
f.nome,
f.cidade,
f.conferência,
f.conference_rank,
COUNT(a.athelete_id)AS number_of_atheletes,
CONCAT(c.first_name, ' ', c.last_name) AS treinador,
f.home_wins,
f.away_wins
DE atletas a, equipes f, treinadores c
ONDE a.team_id = f.team_id
E c.team_id = f.team_id
GROUP BY f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins
ORDER BY f.conference, f.conference_rank
) AS team_info
Você observaria que cada linha tem a estrutura de um dicionário python. As chaves são apenas os nomes dos campos retornados pela sua consulta.
Além disso, para evitar expor suas variáveis de ambiente à vista de todos, você pode aplicar algumas alterações em seus arquivos de inicialização. Escolha qualquer um dos seguintes métodos, dependendo de suas necessidades:
- Para Windows: Painel de controle → Sistema → Configurações avançadas do sistema → Guia Avançado → Variáveis de ambiente.
- Para um ambiente do tipo Unix: Anexe duas linhas sobre seu nome de usuário e senha ao seu arquivo de inicialização.
Com isso, você está pronto para escrever código python. No início, importaremos alguns módulos e funções para evitar erros. Essas declarações podem ajudá-lo a fazer isso:
importar SO
importar psycopg2 como p
do erro de importação do psycopg2
Em seguida, instanciaremos a conexão carregando o conteúdo de query.sql. Abra o arquivo de banco de dados SQL usando os comandos open e read e conecte-se ao banco de dados NFL usando a função connect especificando o usuário do banco de dados, a senha, o host e o número da porta.
Leia também: Projetos Python no GitHub
Como buscar dados de um banco de dados em Python?
Depois de estabelecer a conexão com o banco de dados, você pode prosseguir com a execução da consulta. Você precisa usar uma estrutura de controle chamada 'cursor'. É tão fácil quanto escrever “cursor = conn.cursor()” e, posteriormente, “cursor.execute(query)”. O resultado conteria então uma lista de tuplas (um elemento) em um formato de dicionário.
resultado = cursor.fetchall()
Neste estágio, você pode tentar iterar sobre o resultado. Você pode manipular o conteúdo como quiser, inseri-lo ou alimentá-lo em planilhas, tabelas HTML, etc. Não se esqueça de embrulhar e limpar seu código enquanto termina. Você pode fazer isso com um bloco try-except e adicionando uma frase 'finally'.
Ao lidar com grandes conjuntos de dados, relacionais ou não, você sente a necessidade de algumas ferramentas básicas para consultar as tabelas, especialmente quando também deseja manipular os resultados. Essa transformação de dados é fácil de alcançar com python.
Portanto, a maioria dos programas de estudos de pós-graduação inclui o conhecimento dessas técnicas como parte do currículo. Alguns exemplos incluem o Diploma de Associado em Ciência de Dados (IIIT-Bangalore) e o Global Master Certificate in Business Analytics (Michigan State University).
Checkout: Ideias de projetos de código aberto Python
Conclusão
Neste tutorial de banco de dados python , aprendemos como conectar um banco de dados relacional, executar consultas e importar resultados. Você pode fazer muito mais com python e adaptar seu código para fazer as coisas que você deseja.
Esperamos que este guia tenha ajudado você a encontrar alguma clareza e despertado sua curiosidade!
Aprenda cursos de ciência de dados das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Como você extrai dados de uma API usando solicitações do Python?
Quando você deseja receber dados de uma API, você deve fazer uma solicitação do servidor, assim como quando você interage com sites convencionais. Precisaremos usar o pacote de solicitações para obter dados de uma API usando Python. Em Python, Requests é a biblioteca padrão para fazer solicitações HTTP. Por causa de suas abstrações, é muito fácil de usar, especialmente ao trabalhar com APIs.
Quando usamos a biblioteca de solicitações para executar uma solicitação, obtemos um objeto de solicitação que contém os dados que queremos extrair, bem como um código de status das solicitações. O código de status nos informa sobre o status da solicitação e faz parte de todas as solicitações que fazemos. Dependendo das informações que retornam, os códigos são divididos em centenas de valores diferentes.
Como conectar SQLite com Python?
uma. Devemos importar o sqlite3 para usar o SQLite.
b. Em seguida, usando o método connect, faça uma conexão e forneça o nome do banco de dados que deseja acessar; se existir um arquivo com esse nome, ele será aberto. O Python criará um arquivo com o nome fornecido se você não especificar um.
c. Em seguida, é criado um objeto cursor que pode enviar comandos SQL. Cursor é uma estrutura de controle para percorrer e recuperar registros de banco de dados. Ao lidar com Python, o cursor é realmente importante. O objeto cursor será usado para executar todos os comandos.
d. Crie um objeto e escreva nele a instrução SQL com comentários para criar uma tabela no banco de dados. Exemplo: - sql_comm = instrução SQL.
e. E executar o comando é muito fácil. Execute o método cursor, passando o nome do comando sql como argumento. Salve uma lista de comandos como a variável sql_comm e execute-os. Depois de concluir todas as suas tarefas, salve as modificações no arquivo confirmando-as e desconecte-as.
O Python é bom para bancos de dados?
Python é especialmente adequado para dados tabulares estruturados que podem ser obtidos com SQL, mas que requerem manipulação adicional que seria difícil de realizar apenas com SQL.