seabeck.pages.dev

Como criar um script PowerShell para preencher CEP a partir de logradouro?

Automatizar a busca de CEPs a partir de logradouros pode economizar horas de trabalho manual, especialmente ao lidar com grandes conjuntos de dados. Com um script PowerShell, você pode consultar APIs de serviços de CEP e preencher automaticamente as informações no Excel ou em outros formatos, garantindo precisão e rapidez.

Pré-requisitos

Passo 1: Preparar o ambiente e importar módulos necessários

Antes de começar, é importante garantir que o PowerShell tenha acesso aos módulos necessários para manipular arquivos Excel e realizar requisições web.

# Importar módulo para manipulação de Excel
Import-Module -Name ImportExcel -Force

# Verificar se o módulo está disponível
Get-Module -ListAvailable | Where-Object {$_.Name -like "ImportExcel"}

Crie uma função que receba o logradouro como parâmetro e retorne o CEP correspondente usando uma API pública.

function Get-CEPFromLogradouro {
    param(
        [string]$Logradouro
    )

    # URL da API de CEP (exemplo: ViaCEP)
    $url = "https://viacep.com.br/ws/$Logradouro/json/"

    try {
        # Realizar requisição GET
        $response = Invoke-RestMethod -Uri $url -Method Get

        # Verificar se o CEP foi encontrado
        if ($response.cep) {
            return $response.cep
        } else {
            return "CEP não encontrado"
        }
    } catch {
        return "Erro na requisição: $_"
    }
}

Passo 3: Processar arquivo Excel e preencher CEPs

Utilize o script para ler um arquivo Excel, buscar o CEP para cada logradouro e preencher a coluna correspondente.

# Caminho do arquivo Excel
$excelPath = "C:\Caminho\Para\Seu\Arquivo.xlsx"

# Carregar planilha
$data = Import-Excel -Path $excelPath -WorksheetName "Planilha1"

# Loop para processar cada logradouro
foreach ($row in $data) {
    $logradouro = $row.Logradouro
    $cep = Get-CEPFromLogradouro -Logradouro $logradouro

    # Preencher a célula de CEP
    $row.CEP = $cep
}

# Salvar o arquivo atualizado
$data | Export-Excel -Path $excelPath -WorksheetName "Planilha1" -Append

Exemplo Prático

Logradouro CEP
Avenida Paulista, 1000 01310-100
Rua Augusta, 123 01304-001
Av. Brasil, 500 20040-000

Conclusão

Com este script PowerShell, você automatiza a tarefa de preencher CEPs a partir de logradouros em segundos, evitando erros manuais e aumentando significativamente a produtividade. Basta ajustar o caminho do arquivo Excel e executar o script para obter resultados imediatos.