Manipulando planilhas do Excel usando Python

Manipulando planilhas do Excel usando Python

Microsoft Excel é um software de planilha usado para armazenar e gerenciar dados tabulares. Além disso, com o Excel, os cálculos podem ser realizados aplicando fórmulas aos dados, e as visualizações de dados podem ser produzidas.Muitas tarefas executadas em planilhas, como operações matemáticas, podem ser automatizadas por meio de programação, e muitas linguagens de programação têm módulos para manipular planilhas do Excel. Neste tutorial, mostraremos como usar o módulo OpenPyxl do Python para ler e modificar planilhas do Excel.

Instalando o OpenPyxl

Antes de instalar o OpenPyxl, você deve instalar o PIP. PIP é usado para instalar pacotes Python. Execute o seguinte comando no prompt de comando para ver se o PIP está instalado.

C: \ Usuários \ Windows> PiP ajuda

Se o conteúdo de ajuda do PIP for retornado, o PIP será instalado; Caso contrário, vá para o seguinte link e baixe o get-pip.arquivo py:

https: // bootstrap.Pypa.io/get-pip.py

Agora, execute o seguinte comando para instalar o PIP:

C: \ Usuários \ Windows> Python Get-Pip.py

Após a instalação do PIP, o seguinte comando pode ser usado para instalar o OpenPyxl.

C: \ Usuários \ Windows> PIP Instale OpenPyxl

Criando um documento do Excel

Nesta seção, usaremos o módulo OpenPyxl para criar um documento do Excel. Primeiro, abra o prompt de comando digitando 'cmd' na barra de pesquisa; Em seguida, digite

C: \ Usuários \ Windows> Python

Para criar um Excel de trabalho, importaremos o módulo OpenPyxl e depois usaremos o método 'Work.) para criar uma pasta de trabalho.

>>> # Importando módulo OpenPyxl
>>> Importar OpenPyxl
>>> # inicializando uma pasta de trabalho
>>> work_book = OpenPyxl.Pasta de trabalho ()
>>> # Salvando a pasta de trabalho como 'exemplo.xlsx '
>>> work_book.salvar ('exemplo.xlsx ')

Os comandos acima criam um documento do Excel chamado exemplo.xlsx. Em seguida, manipularemos este documento do Excel.

Manipulando folhas em um documento do Excel

Criamos um documento do Excel chamado exemplo.xlsx. Agora, manipularemos as folhas deste documento usando Python. O módulo OpenPyxl possui um método 'create_sheet ()' que pode ser usado para criar uma nova folha. Este método leva dois argumentos: índice e título. Índice define a colocação da folha usando qualquer número inteiro não negativo (incluindo 0), e o título é o título da folha. Uma lista de todas as folhas do objeto Work_book pode ser exibida chamando a lista de lençóis.

>>> # Importando OpenPyxl
>>> Importar OpenPyxl
>>> # Carregando o documento do Excel existente no objeto Work_book
>>> work_book = OpenPyxl.load_workbook ('Exemplo.xlsx ')
>>> # Criando uma nova folha no 0º índice
>>> work_book.create_sheet (index = 0, title = 'Primeira folha')

>>> # recebendo todos os lençóis
>>> work_book.SheetNames
['Primeira folha', 'folha']
>>> # salvar o documento do Excel
>>> work_book.salvar ('exemplo.xlsx ')

No código acima, criamos uma folha chamada First Sheet e a colocamos no 0º índice. A folha anteriormente localizada no 0º índice foi movida para o 1º índice, conforme mostrado na saída. Agora, vamos mudar o nome da folha original da folha para a segunda folha.

O atributo do título mantém o nome da folha. Para renomear uma folha, devemos primeiro navegar para a folha da seguinte maneira.

>>> # Obtendo uma folha ativa do Documento do Excel
>>> folha = work_book.ativo
>>> # Nome da folha de impressão
>>> Imprimir (folha.título)
Primeira folha >>> # Navegando para a segunda folha (no índice 1)
>>> work_book.ativo = 1
>>> # Obtendo uma folha ativa
>>> folha = work_book.ativo
>>> # Nome da folha de impressão
>>> Imprimir (folha.título)
Folha >>> # Título da folha de troca
>>> folha.título = 'Segunda folha'
>>> # Título da folha de impressão
>>> Imprimir (folha.título)
Segunda folha

Da mesma forma, podemos remover uma folha do documento do Excel. O módulo OpenPyxl oferece o método Remover () para remover uma folha. Este método leva o nome da folha a ser removido como um argumento e depois remove a folha. Podemos remover a segunda folha da seguinte maneira:

>>> # removendo uma folha pelo nome
>>> work_book.Remover (Work_Book ['Segunda Folha'])
>>> # recebendo todos os lençóis
>>> work_book.SheetNames
['Primeira folha']
>>> # salvar o documento do Excel
>>> work_book.salvar ('exemplo.xlsx ')

Adicionando dados às células

Até agora, mostramos como criar ou excluir folhas em um documento do Excel. Agora, vamos adicionar dados às células de diferentes folhas. Neste exemplo, temos uma única folha chamada First Sheet em nosso documento e queremos criar mais duas folhas.

>>> # Importando OpenPyxl
>>> Importar OpenPyxl
>>> # Loading Work Book
>>> work_book = OpenPyxl.load_workbook ('Exemplo.xlsx ')
>>> # Criando uma nova folha no 1º índice
>>> work_book.create_sheet (index = 1, title = 'Segunda folha')

>>> # Criando uma nova folha no 2º índice
>>> work_book.create_sheet (index = 2, title = 'terceira folha')

>>> # recebendo todos os lençóis
>>> work_book.SheetNames
['Primeira folha', 'Segunda folha', 'Terceira folha']

Agora, temos três folhas e adicionaremos dados às células dessas folhas.

>>> # Obtendo a primeira folha
>>> Sheet_1 = Work_book ['Primeira Folha']
>>> # Adicionando dados à célula 'A1' da primeira folha
>>> Sheet_1 ['A1'] = 'Nome'
>>> # Obtendo a segunda folha
>>> Sheet_2 = Work_book ['Segunda folha']
>>> # Adicionando dados à célula 'A1' da segunda folha
>>> Sheet_2 ['A1'] = 'ID'
>>> # Obtendo a terceira folha
>>> Sheet_3 = Work_book ['Terceira folha']
>>> # Adicionando dados à célula 'A1' da terceira folha
>>> Sheet_3 ['A1'] = 'Gestas'
>>> # Salvar a pasta de trabalho do Excel
>>> work_book.salvar ('exemplo.xlsx ')

Lendo folhas do Excel

O módulo OpenPyxl usa o atributo de valor de uma célula para armazenar os dados dessa célula. Podemos ler os dados em uma célula chamando o atributo de valor da célula. Agora, temos três folhas e cada folha contém alguns dados. Podemos ler os dados usando as seguintes funções no OpenPyxl:

>>> # Importando OpenPyxl
>>> Importar OpenPyxl
>>> # Loading Work Book
>>> work_book = OpenPyxl.load_workbook ('Exemplo.xlsx ')
>>> # Obtendo a primeira folha
>>> Sheet_1 = Work_book ['Primeira Folha']
>>> # Obtendo a segunda folha
>>> Sheet_2 = Work_book ['Segunda folha']
>>> # Obtendo a terceira folha
>>> Sheet_3 = Work_book ['Terceira folha']
>>> # Impressão de dados da célula 'A1' da primeira folha
>>> PRINT (SHELLE_1 ['A1'].valor)
Nome
>>> # Impressão de dados da célula 'A1' da segunda folha
>>> PRINT (SHELLE_2 ['A1'].valor)
EU IA
>>> # Impressão de dados da célula 'A1' da terceira folha
>>> PRINT (SHELLE_3 ['A1'].valor)
Notas

Mudando de fontes e cores

Em seguida, vamos mostrar como mudar a fonte de uma célula usando a função Font (). Primeiro, importe o OpenPyxl.objeto de estilos. O método Font () leva uma lista de argumentos, incluindo:

  • nome (string): o nome da fonte
  • tamanho (int ou flutuação): o tamanho da fonte
  • sublinhado (string): o tipo sublinhado
  • cor (corda): a cor hexadecimal do texto
  • Itálico (Bool): se a fonte está em itálico
  • BOLD (BOOL): se a fonte está em negrito

Para aplicar estilos, devemos primeiro criar um objeto passando todos os parâmetros para o método Font (). Em seguida, selecionamos a folha e, dentro da folha, selecionamos a célula à qual queremos aplicar o estilo. Em seguida, aplicamos estilo à célula selecionada.

>>> # Importando OpenPyxl
>>> Importar OpenPyxl
>>> # Importando o método da fonte do OpenPyxl.estilos
>>> do OpenPyxl.Estilos Importar Fonte
>>> # Loading Work Book
>>> work_book = OpenPyxl.load_workbook ('Exemplo.xlsx ')
>>> # Criando objeto de estilo
>>> estilo = font (nome = 'consolas', size = 13, negrito = true,
… Itálico = falso)
>>> # Selecionando folha da pasta de trabalho
>>> Sheet_1 = Work_book ['Primeira Folha']
>>> # Selecionando a célula que queremos adicionar estilos
>>> A1 = Sheet_1 ['A1']
>>> # Aplicando estilos na célula
>>> A1.Fonte = estilo
>>> # Salvando pasta de trabalho
>>> work_book.salvar ('exemplo.xlsx ')

Aplicando bordas às células

Podemos aplicar fronteiras às células em uma planilha do Excel usando os métodos de borda () e late () do OpenPyxl.estilos.Módulo Borders. Podemos passar por diferentes funções como os parâmetros para o método de borda (). A seguir, são apresentadas algumas das funções que são passadas como parâmetros para o método de borda () para definir as dimensões da borda.

  • esquerda: Aplique uma borda no lado esquerdo de uma célula
  • certo: Aplique uma borda no lado direito de uma célula
  • principal: aplicar uma borda no topo de uma célula
  • fundo: aplicar uma borda no fundo de uma célula

Essas funções tomam atributos de estilo como parâmetros. O atributo de estilo define o estilo da fronteira (e.g., sólido, tracejado). Os parâmetros de estilo podem ter qualquer um dos seguintes valores.

  • dobro: uma borda de linha dupla
  • tracejadas: uma borda tracejada
  • afinar: uma borda fina
  • médio: uma borda média
  • MediumDashDot: uma borda tracejada e pontilhada de peso médio
  • espesso: uma borda espessa
  • Dashdot: uma borda tracejada e pontilhada
  • cabelo: uma borda muito fina
  • pontilhado: uma borda pontilhada

Agora, aplicaremos diferentes tipos de fronteiras a diferentes células de nossas planilhas. Primeiro, selecionamos células e, em seguida, definimos estilos de fronteira e aplicamos esses estilos a células diferentes.

>>> # Importando OpenPyxl
>>> Importar OpenPyxl
>>> # Importando classes de fronteira e lateral
>>> do OpenPyxl.estilos.Fronteiras importam fronteira, lado
>>> # Loading Work Book
>>> work_book = OpenPyxl.load_workbook ('Exemplo.xlsx ')
>>> # Selecionando folha
>>> Sheet_1 = Work_book ['Primeira Folha']
>>> # Selecionando células diferentes da folha
>>> Cell_1 = Sheet_1 ['A1']
>>> Cell_2 = Sheet_1 ['B2']
>>> Cell_3 = Sheet_1 ['C3']
>>> # Definindo diferentes estilos de fronteira
>>> estilo_1 = borda (inferior = lado (estilo = 'pontilhado')))
>>> style_2 = borda (direita = lado (estilo = 'fino')))
>>> style_3 = borda (top = lado (style = 'Dashdot')))
>>> # Aplicando estilos de fronteira às células
>>> Cell_1.Border = style_1
>>> Cell_2.Border = style_2
>>> Cell_3.Border = style_3
>>> # Salvando pasta de trabalho
>>> work_book.salvar ('exemplo.xlsx ')

Ajustando as dimensões de linha e coluna

A altura da linha e a largura da coluna de um documento do Excel também podem ser ajustadas usando Python. O módulo OpenPyxl possui dois métodos internos que podem ser usados ​​para executar essas ações. Primeiro, selecionamos a folha da qual queremos alterar a largura da coluna ou a altura da linha. Em seguida, aplicamos um método à linha ou coluna específica.

>>> # Importando OpenPyxl
>>> Importar OpenPyxl
>>> # Loading Work Book
>>> work_book = OpenPyxl.load_workbook ('Exemplo.xlsx ')
>>> # Selecionando folha
>>> Sheet_1 = Work_book ['Primeira Folha']
>>> # alterando a altura da primeira linha
>>> Sheet_1.row_dimensions [1].altura = 50
>>> # Salvando pasta de trabalho
>>> work_book.salvar ('exemplo.xlsx ')

Da mesma forma, podemos alterar a largura de uma coluna usando o seguinte código

>>> # Selecionando folha da pasta de trabalho do Excel
>>> Sheet_2 = Work_book ['Segunda folha']
>>> # alterando a largura de uma coluna
>>> Sheet_2.column_dimensions ['a'].largura = 50
>>> # Salvando pasta de trabalho
>>> work_book.salvar ('exemplo.xlsx ')

O código acima mudará a altura da primeira linha para 50 pts e a largura da coluna A a 50 pts.

Células de mesclagem e imerece

Ao trabalhar com planilhas do Excel, geralmente precisamos mesclar e unir células. Para mesclar células em Python, uma função simples baseada em OpenPyxl pode ser usada. O módulo OpenPyxl oferece o método Merge_Cells (), que pode ser usado para mesclar células no Excel. A nova célula assumirá o nome da célula superior esquerda. Por exemplo, se queremos mesclar as células da célula A1 para a célula B2, a célula recém -formada será chamada de A1. Para mesclar células usando o OpenPyxl, primeiro selecionamos a folha e depois aplicamos o método Merge_Cells () na folha.

>>> # Importando módulo OpenPyxl
>>> Importar OpenPyxl
>>> # Loading Work Book
>>> work_book = OpenPyxl.load_workbook ('Exemplo.xlsx ')
>>> # Selecionando a primeira folha da pasta de trabalho do Excel
>>> Sheet_1 = Work_book ['Primeira Folha']
>>> # Mesclagem de células de A1 a B2 na Folha 1
>>> Sheet_1.Merge_Cells ('A1: B2')
>>> # Salvando pasta de trabalho
>>> work_book.salvar ('exemplo.xlsx ')

Da mesma forma, o método UMERGE_CELLS () pode ser usado para unir células em uma planilha do Excel. O código a seguir pode ser usado para unir células:

>>> # Selecionando folha da pasta de trabalho
>>> Sheet_1 = Work_book ['Primeira Folha']
>>> # células não -rigorosas de A1 a B2
>>> Sheet_1.UNMERGE_CELLS ('A1: B2')
>>> # Salvando pasta de trabalho
>>> work_book.salvar ('exemplo.xlsx ')

Conclusão

As planilhas do Excel são comumente usadas para manipulação de dados. No entanto, essas tarefas podem ser monótonas. Portanto, nesses casos, a programação pode ser usada para automatizar a manipulação da planilha.

Neste artigo, discutimos algumas das funções úteis do módulo OpenPyxl do Python. Mostramos como criar, ler, remover e modificar planilhas do Excel, como alterar o estilo, aplicar fonte, fronteiras e dimensões das células e como mesclar e unir células. Ao aplicar essas funções, você pode automatizar muitas tarefas de manipulação de planilha usando o Python.