Pesquisa de site

Como editar uma planilha Excel com Python e Openpyxl


Aprenda como usar esta biblioteca útil para trabalhar com planilhas do Excel fora do Excel.

As planilhas do Excel podem ser poderosas, mas algumas tarefas podem exigir mais poder de programação. Entre em Python e no módulo Openpyxl.

Openpyxl fornece funções que permitem trabalhar com um arquivo Excel do Python. Você pode usá-lo para processar dados, criar novas planilhas e até manipular fórmulas.

A biblioteca é útil se você precisar automatizar os mesmos cálculos repetitivos em muitos arquivos Excel. Esse pode ser o caso se você precisar lidar com big data ou realizar análises de dados.

Como instalar o módulo Openpyxl

Primeiro, instale o Openpyxl em seu computador seguindo estas etapas:

  1. Abra um prompt de comando e execute o seguinte:

    pip install openpyxl
  2. Se o procedimento acima não funcionar, você pode baixar o módulo na página de download de arquivos do Openpyxl:

    1. Baixe o arquivo openpyxl-version.tar.gz.
    2. Extraia o conteúdo do arquivo.
    3. Abra um prompt de comando. Navegue até a pasta dos arquivos extraídos e execute o seguinte comando:

      py setup.py install

Crie seus arquivos Excel e dados de teste

Crie muitos arquivos Excel e adicione alguns dados de teste a eles. Se você é novo no Excel, existem muitas ferramentas que podem ajudá-lo a aprender.

  1. Crie vários arquivos Excel na mesma pasta. Neste cenário, existem cinco arquivos Excel. Cada arquivo armazena dados populacionais de três países diferentes.

  2. Em cada arquivo Excel, adicione alguns dados de teste. Por exemplo:

Este exemplo inclui dados relativos à população de muitos países.

Como criar o script Python

Crie o script Python da seguinte maneira:

  1. Crie um novo arquivo chamado dataAnalysisScript.py. Abra-o usando qualquer bom editor de texto, como Visual Studio Code ou Atom.
  2. Adicione as três importações a seguir na parte superior do arquivo. “os” e “sys” referem-se ao acesso a arquivos no seu computador ou ao fechamento do programa. "openpyxl" é o módulo baixado na etapa anterior que permite ler e gravar arquivos Excel.

    import openpyxl
    import os
    import sys
    
  3. Abaixo das importações, adicione a estrutura básica do script Python abaixo. Tenha em mente que a estrutura do código em Python depende da indentação correta.

    # Main, start of the program
    if __name__ == "__main__":
        while True:
            # Write code here
            # When the code finishes, close the program.
            sys.exit()
    
  4. Dentro do loop while, adicione um prompt para o usuário inserir o caminho para a pasta que contém os arquivos do Excel.

    if __name__ == "__main__":
      while True:
        # Asks the user to enter the filepath of the excel file. 
        filePath = input('Please enter the path of the folder where the excel files are stored: ')
        # Goes inside that folder. 
        os.chdir(filePath)
        # Gets the list of excel files inside the folder. 
        excelFiles = os.listdir('.')
    

Como ler e gravar dados de arquivos Excel

Use um loop for para abrir, ler, manipular e fechar cada um dos arquivos do Excel.

  1. Adicione um loop for para cada arquivo Excel. Dentro do loop, abra cada arquivo.

    # For each Excel file
    for i in range(0, len(excelFiles)):
        # This is using the openpyxl module to open the Excel file.
        wb = openpyxl.load_workbook(excelFiles[i])
        sheet = wb.active
  2. O código a seguir lê um valor específico de uma célula específica:

    cellValue = sheet[f'B3'].value
    
  3. O código a seguir grava dados na célula "A10":

    sheet<strong>[</strong>f'A10'<strong>].</strong>value <strong>=</strong> 56
    sheet.cell(row=1, column=6).value = 2
    

Como executar funções integradas do Excel usando o script Python

Para cada arquivo Excel, calcule a soma, a média e o desvio padrão de cada coluna “país”. O código a seguir calcula a soma de todos os números de cada país:

sheet[f'B11'].value = '=SUM(B4:B9)' 
sheet[f'C11'].value = '=SUM(C4:C9)' 
sheet[f'D11'].value = '=SUM(D4:D9)'
  • '=SUM(B4:B9)' é o cálculo do Excel que adicionará todos os números na coluna B entre as células B4 e B9.
  • sheet[f'B11'].value é o valor na célula B11. O programa armazenará o resultado final nesta célula.

Você também pode calcular a média e o desvio padrão das funções do Excel da mesma forma mostrada acima.

sheet[f'B12'].value = '=AVERAGE(B4:B9)'
sheet[f'C12'].value = '=AVERAGE(C4:C9)'
sheet[f'D12'].value = '=AVERAGE(D4:D9)'
sheet[f'B13'].value = '=STDEV(B4:B9)' 
sheet[f'C13'].value = '=STDEV(C4:C9)' 
sheet[f'D13'].value = '=STDEV(D4:D9)'

Como escrever no arquivo e fechar a pasta de trabalho

O código restante salva e fecha cada pasta de trabalho e, em seguida, fecha o programa.

  1. Dentro do loop for, após executar as funções necessárias do Excel, salve as alterações feitas no arquivo Excel.

    wb.save(excelFiles[i])
    print(excelFiles[i] + ' completed.')
  2. Fora do loop for, feche o script Python.

    sys.exit()

O código completamente:

# Main, start of the program
if __name__ == "__main__":
  while True:
    filePath = input('Please enter the path of the folder where the excel files are stored: ')
    os.chdir(filePath)
    excelFiles = os.listdir('.')
    
    # For each excel file
    for i in range(0, len(excelFiles)):
    
        wb = openpyxl.load_workbook(excelFiles[i])
        sheet = wb.active
        
        # Perform all required Excel functions as shown above here
        
        # Save and close the workbook
        wb.save(excelFiles[i])
        print(excelFiles[i] + ' completed.')
    
    # When the code finishes, close the program.
    sys.exit()

Como executar o script Python

  1. Abra o prompt de comando. Navegue até onde você armazenou seu script. Se você armazenou seu script na área de trabalho, o comando seria mais ou menos assim:

    cd C:\Users\Sharl\Desktop
  2. Digite o seguinte para executar o script:

    python dataAnalysisScript.py
  3. O script começará solicitando que você entre na pasta que armazena todos os seus arquivos Excel. Por exemplo, se você armazenou esta pasta na área de trabalho, o caminho do arquivo seria:

    C:\Users\Sharl\Desktop\CountryData
  4. Abra um dos arquivos Excel da pasta para visualizar as alterações feitas.

Certifique-se de que nenhum dos arquivos do Excel esteja aberto ao executar o script.

Automatizando mais com Python

Agora você tem o básico de como executar funções do Excel dentro de um script Python. Agora você pode aprender como executar muitas outras funções do Excel, bem como muitas outras maneiras de automatizar arquivos do Excel. Isso inclui o uso de uma biblioteca como o Pandas para importar dados, ou mesmo o Visual Basic para realizar tarefas repetitivas no Excel.

Artigos relacionados: