Pular para o conteúdo principal

Exercícios resolvidos em Linguagem Python - para iniciantes

Esta lista de exercícios resolvidos é um manual para ajudar todo aluno iniciante e não só, a adquirir e aprimorar as habilidades necessárias para se trabalhar com Python, de forma rápida e consistente. Estude e desfrute do conteúdo. 1º Exercício      Faça um programa que informe a versão do Python que você está utilizando Solução import sys print ( "Versão do Python" ) print (sys.version) print ( "Informação da versão instalada" ) print (sys.version_info) Atenção :     -  O módulo sys fornece funções e variáveis usadas para manipular diferentes partes do ambiente de tempo de execução do Python;     - Pra quem ainda não está familiarizado com a linguagem, um módulo  é um arquivo contendo definições e comandos em Python para serem usados em outros programas. 2º Exercício      Faça um programa em linguagem Python que converta metros para centímetros. Solução print ( ' \t ----Conversão de medida---- ' ) metros = int ( in...

Como acessar uma API de endereços com Python e gravar em um banco de dados SQL Server

Neste artigo, vamos aprender uma forma de acessar uma API de endereços com Python e  gravar os dados em um banco de dados SQL Server.

Com o código abaixo , vamos puder acessar a API e pegar todas as informações de endereço.

Como entrada, tenho uma lista com CEP(s). Essa lista, poderia ser um arquivo ou um campo de um site de vendas, por exemplo.

Esse é o site onde vamos acessar os endereços: Via cep

Os dados obtidos, serão armazenados em um SQL Server.
  • O SQL Server é um sistema de gerenciamento de banco de dados relacional desenvolvido pela Microsoft. Ele é usado para armazenar e recuperar dados conforme necessário por outras aplicações.
Os dados de conexão do SQL Server, você pode encontrar na tela inicial do SQL Server.
As bibliotecas utilizadas para este projeto são:
  • O pandas com objetivo de criar uma lista e transformar a lista em um DataFrame;
  • request: tem como finalidade tornar as solicitações HTTP mais amigáveis e simples.
  • pyodbc: é uma biblioteca Python de código aberto que fornece conectividade ao SQL Server. Ele usa o padrão Open Database Connectivity (ODBC) para interagir com o banco de dados, tornando-o uma ferramenta versátil que pode conectar o Python a vários sistemas de banco de dados.
Segue o script completo:

import requests
import pandas as pd
import pyodbc

# Recebendo como entrada uma lista de CEP(s)
lista_de_ceps: list = ['17021600', '17013221', '17015011', '17015021']

# Criando uma lista vazia para armazenar os endereços
lista_de_enderecos: list = []

for cep in lista_de_ceps:

    url: str = 'https://viacep.com.br/ws/{}/json/'.format(cep)

    try:
        req = requests.get(url, timeout=3)
        if req.status_code == 200:
            endereco = req.json()
            lista_de_enderecos.append(
                [
                    endereco['cep'],
                    endereco['logradouro'],
                    endereco['complemento'],
                    endereco['bairro'],
                    endereco['localidade'],
                    endereco['uf']
                ]
            )

        else:
            erro = req.raise_for_status()
            print(f'Erro no acesso a API: {erro}')

    except Exception as erro:
        print(f'Erro na execução do código: {erro}')
print('Lista de endereços capturada')

# Mostrando os dados do DataFrame
for item in lista_de_enderecos:
    print(item)

# Transformando a lista de endereços em um DataFrame

df_enderecos = pd.DataFrame(lista_de_enderecos,
                            columns=['cep','logradouro','complemento','bairro','localidade','uf'])

# Preparando a conexão e gravando em uma tabela no banco de dados.
# Substitua o server com o nome do seu servidor e o Database com
# o nome do seu banco de dados
dados_conexao = (
    "Driver={SQL Server};""Server=NOTEBOOK-SAMSUN;""Database=Zungando_Microsoft;"
)

conexao = pyodbc.connect(dados_conexao)
print('Database connection ok!')

# Deleta a tabela existente, se houver
conexao.execute('DROP TABLE IF EXISTS Enderecos')

# Criar uma tabela para armazenar os dados de endereço

conexao.execute(''' CREATE TABLE Enderecos(
cep VARCHAR(20),
logradouro VARCHAR(30),
complemento VARCHAR(100),
bairro VARCHAR(50),
localidade VARCHAR(50),
uf VARCHAR(50)                            
)''')


# Grava e fecha a conexão
conexao.commit()
conexao.close()

# conexão aberta, consome recursos do banco de dados
# Conecta ao banco de dados
conexao = pyodbc.connect(dados_conexao)
print('Insert Into Enderecos - Database connection OK!')

# Insere cada linha do arquivo na tabela do banco de dados
for index, row in df_enderecos.iterrows():
    conexao.execute(
        'INSERT INTO Enderecos(cep,logradouro,complemento,bairro,localidade,uf)VALUES(?,?,?,?,?,?)',
        row.cep, row.logradouro, row.complemento, row.bairro, row.localidade, row.uf)
conexao.commit()
conexao.close()

print("Carga Realizada!")
Ao consultar no banco de dados, temos os dados retornados:

Comentários

Postar um comentário

Postagens mais visitadas deste blog

Exercícios resolvidos em Linguagem Python - para iniciantes

Esta lista de exercícios resolvidos é um manual para ajudar todo aluno iniciante e não só, a adquirir e aprimorar as habilidades necessárias para se trabalhar com Python, de forma rápida e consistente. Estude e desfrute do conteúdo. 1º Exercício      Faça um programa que informe a versão do Python que você está utilizando Solução import sys print ( "Versão do Python" ) print (sys.version) print ( "Informação da versão instalada" ) print (sys.version_info) Atenção :     -  O módulo sys fornece funções e variáveis usadas para manipular diferentes partes do ambiente de tempo de execução do Python;     - Pra quem ainda não está familiarizado com a linguagem, um módulo  é um arquivo contendo definições e comandos em Python para serem usados em outros programas. 2º Exercício      Faça um programa em linguagem Python que converta metros para centímetros. Solução print ( ' \t ----Conversão de medida---- ' ) metros = int ( in...

Como abrir uma página da web utilizando Python?

Simples, você pode abrir páginas da Web de forma rápida, segura e fácil. Veja só, durante os estudos das bibliotecas padrão do Python descobri que para abrir um navegador web a partir de um script, devo importar o módulo webbrowser. Em seguida, usar webbrowser.open () que vai receber o link que quero abrir como argumento e executar o serviço, ou seja, basta inserir um endereço do youtube nele, na verdade pode ser qualquer link que você desejar. Exemplo webbrowser.open( "https://www.huicode.com.br/p/exercicios-resolvidos-de-linguagem-c.html" ) Para funcionar temos que importar o módulo webbrowser, que vai ser a maneira de dizer ao python que queremos usar webbrowser e todas as suas funcionalidades no programa. import webbrowser webbrowser.open( "https://www.huicode.com.br/p/exercicios-resolvidos-de-linguagem-c.html" ) Funcionooou, uhuhu. Nem parece, mas o módulo webbrowser é um módulo muito empregado em projetos de sites de filmes. Tem muitas utilidades, acredite.

CÁLCULO DA ÁREA DE UM TRIÂNGULO - LINGUAGEM C

Escreva um programa para calcular a área de um triângulo, sendo dados a sua base e a  sua altura. A = (B*H)/2 Solução #include <stdio.h> int main() {   // Variáveis  float area,base,altura;  // Entrada de Dados  printf( "\n Informe a base do triângulo: " );  scanf( "%f" ,&base);  printf( "\n Informe a altura do triângulo: " );  scanf( "%f" ,&altura);   // Processamento dos dados  area=(base*altura)/2;  // Exibição do resultado  printf( "\n Area do triângulo=%.1f\n" ,area);   return 0; }