Pitão

Manipulação de planilhas do Excel usando Python

Manipulação de planilhas do Excel usando Python

O 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 dos dados podem ser produzidas.Muitas tarefas realizadas em planilhas, como operações matemáticas, podem ser automatizadas por meio de programação, e muitas linguagens de programação possuem 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 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> ajuda pip

Se o conteúdo de ajuda de pip for retornado, então pip está instalado; caso contrário, acesse o link a seguir 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

Depois de instalar o pip, o seguinte comando pode ser usado para instalar o openpyxl.

C: \ Usuários \ windows> pip install openpyxl

Criação de um documento Excel

Nesta seção, usaremos o módulo openpyxl para criar um documento Excel. Primeiro, abra o prompt de comando digitando 'cmd' na barra de pesquisa; então, entre

C: \ Usuários \ windows> python

Para criar uma pasta de trabalho do Excel, importaremos o módulo openpyxl e usaremos o método 'Workbook ()' para criar uma pasta de trabalho.

>>> # importing openpyxl module
>>> import openpyxl
>>> # Inicializando uma pasta de trabalho
>>> work_book = openpyxl.Livro de exercícios ()
>>> # salvando pasta de trabalho como 'exemplo.xlsx '
>>> work_book.salvar ('exemplo.xlsx ')

Os comandos acima criam um documento Excel chamado exemplo.xlsx. A seguir, vamos manipular este documento Excel.

Manipulando planilhas em um documento Excel

Criamos um documento Excel chamado exemplo.xlsx. Agora, vamos manipular as folhas deste documento usando Python. O módulo openpyxl tem um método 'create_sheet ()' que pode ser usado para criar uma nova planilha. 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 título é o título da folha. Uma lista de todas as planilhas no objeto work_book pode ser exibida chamando a lista de nomes de planilhas.

>>> # importing openpyxl
>>> import openpyxl
>>> # carregando Documento Excel existente no objeto work_book
>>> work_book = openpyxl.load_workbook ('exemplo.xlsx ')
>>> # Criando uma nova planilha no índice 0
>>> work_book.create_sheet (index = 0, title = 'First Sheet')

>>> # Obtendo todas as planilhas
>>> work_book.nomes de planilhas
['Primeira folha', 'Folha']
>>> # Salvando documento Excel
>>> work_book.salvar ('exemplo.xlsx ')

No código acima, criamos uma planilha 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 de folha para segunda folha.

O atributo title contém o nome da folha. Para renomear uma planilha, devemos primeiro navegar até essa planilha da seguinte maneira.

>>> # Obtendo planilha ativa do documento Excel
>>> folha = pasta de trabalho.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 planilha ativa
>>> folha = pasta de trabalho.ativo
>>> # nome da folha de impressão
>>> imprimir (folha.título)
Folha >>> # Alterando o título da folha
>>> folha.title = 'Segunda Folha'
>>> # Título da folha de impressão
>>> imprimir (folha.título)
Segunda folha

Da mesma forma, podemos remover uma planilha do documento Excel. O módulo openpyxl oferece o método remove () para remover uma folha. Este método pega o nome da planilha a ser removida como um argumento e então remove aquela planilha. Podemos remover a segunda folha da seguinte forma:

>>> # removendo uma folha por nome
>>> work_book.remover (work_book ['Second Sheet'])
>>> # obtendo todas as folhas
>>> work_book.nomes de folha
['Primeira Folha']
>>> # salvando Documento Excel
>>> work_book.salvar ('exemplo.xlsx ')

Adicionando Dados às Células

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

>>> # importing openpyxl
>>> import openpyxl
>>> # pasta de trabalho de carregamento
>>> work_book = openpyxl.load_workbook ('exemplo.xlsx ')
>>> # Criando uma nova planilha no 1º índice
>>> work_book.create_sheet (index = 1, title = 'Second Sheet')

>>> # criando uma nova planilha no 2º índice
>>> work_book.criar planilha (índice = 2, título = 'Terceira planilha')

>>> # obtendo todas as folhas
>>> work_book.nomes de planilhas
['Primeira planilha', 'Segunda planilha', 'Terceira planilha']

Agora, temos três planilhas, e vamos adicionar dados às células dessas planilhas.

>>> # Obtendo a primeira folha
>>> planilha_1 = pasta de trabalho ['Primeira planilha']
>>> # Adicionando dados à célula 'A1' da primeira planilha
>>> folha_1 ['A1'] = 'Nome'
>>> # Obtendo a segunda folha
>>> planilha_2 = pasta de trabalho ['Segunda planilha']
>>> # Adicionando dados à célula 'A1' da segunda folha
>>> folha_2 ['A1'] = 'ID'
>>> # Obtendo a terceira folha
>>> planilha_3 = pasta de trabalho ['Terceira planilha']
>>> # Adicionando dados à célula 'A1' da terceira planilha
>>> sheet_3 ['A1'] = 'Notas'
>>> # Salvando pasta de trabalho do Excel
>>> work_book.salvar ('exemplo.xlsx ')

Leitura de planilhas 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 planilhas, e cada planilha contém alguns dados. Podemos ler os dados usando as seguintes funções em openpyxl:

>>> # importing openpyxl
>>> import openpyxl
>>> # pasta de trabalho de carregamento
>>> work_book = openpyxl.load_workbook ('exemplo.xlsx ')
>>> # Obtendo a primeira folha
>>> folha_1 = pasta de trabalho ['Primeira folha']
>>> # Obtendo a segunda folha
>>> planilha_2 = pasta de trabalho ['Segunda planilha']
>>> # Obtendo a terceira folha
>>> planilha_3 = pasta de trabalho ['Terceira planilha']
>>> # imprimindo dados da célula 'A1' da primeira folha
>>> imprimir (folha_1 ['A1'].valor)
Nome
>>> # imprimindo dados da célula 'A1' da segunda folha
>>> imprimir (folha_2 ['A1'].valor)
EU IA
>>> # imprimindo dados da célula 'A1' da terceira folha
>>> imprimir (folha_3 ['A1'].valor)
Notas

Alterar fontes e cores

A seguir, mostraremos como alterar 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 float): o tamanho da fonte
  • sublinhado (string): o tipo sublinhado
  • cor (string): a cor hexadecimal do texto
  • itálico (bool): se a fonte está em itálico
  • negrito (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.

>>> # importing openpyxl
>>> import openpyxl
>>> # importando método Font de openpyxl.estilos
>>> do openpyxl.estilos importar fonte
>>> # pasta de trabalho de carregamento
>>> work_book = openpyxl.load_workbook ('exemplo.xlsx ')
>>> # Criando objeto de estilo
>>> estilo = Fonte (nome = 'Consolas', tamanho = 13, negrito = Verdadeiro,
… Itálico = falso)
>>> # Seleção de planilha da pasta de trabalho
>>> planilha_1 = pasta de trabalho ['Primeira planilha']
>>> # Selecionando a célula que deseja adicionar estilos
>>> a1 = folha_1 ['A1']
>>> # Aplicação de estilos à célula
>>> a1.font = style
>>> # Salvando pasta de trabalho
>>> work_book.salvar ('exemplo.xlsx ')

Aplicando Fronteiras às Células

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

  • deixou: aplica uma borda ao lado esquerdo de uma célula
  • direito: aplica uma borda ao lado direito de uma célula
  • principal: aplica uma borda ao topo de uma célula
  • inferior: aplica uma borda na parte inferior de uma célula

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

  • Duplo: uma borda de linha dupla
  • tracejadas: uma borda tracejada
  • fino: 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, vamos aplicar diferentes tipos de bordas a diferentes células de nossas planilhas. Primeiro, selecionamos as células e, em seguida, definimos estilos de borda e aplicamos esses estilos a diferentes células.

>>> # importing openpyxl
>>> import openpyxl
>>> # importando classes Border e Side
>>> do openpyxl.estilos.fronteiras importar Fronteira, Lado
>>> # pasta de trabalho de carregamento
>>> work_book = openpyxl.load_workbook ('exemplo.xlsx ')
>>> # Folha de Seleção
>>> planilha_1 = pasta de trabalho ['Primeira planilha']
>>> # Selecionando células diferentes da planilha
>>> célula_1 = folha_1 ['A1']
>>> célula_2 = folha_1 ['B2']
>>> célula_3 = folha_1 ['C3']
>>> # Definindo diferentes estilos de borda
>>> style_1 = Borda (inferior = lateral (estilo = 'pontilhado'))
>>> style_2 = Borda (direita = Lado (estilo = 'fino'))
>>> style_3 = Borda (topo = Lado (estilo = 'dashDot'))
>>> # aplicando estilos de borda à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 dimensões de linha e coluna

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

>>> # importing openpyxl
>>> import openpyxl
>>> # pasta de trabalho de carregamento
>>> work_book = openpyxl.load_workbook ('exemplo.xlsx ')
>>> # folha de seleção
>>> planilha_1 = pasta de trabalho ['Primeira planilha']
>>> # alterando a altura da primeira linha
>>> folha_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 planilha da pasta de trabalho do Excel
>>> planilha_2 = pasta de trabalho ['Segunda planilha']
>>> # alterando a largura da coluna A
>>> folha_2.column_dimensions ['A'].largura = 50
>>> # Salvando pasta de trabalho
>>> work_book.salvar ('exemplo.xlsx ')

O código acima irá alterar a altura da primeira linha para 50 pontos e a largura da coluna A para 50 pontos.

Mesclando e desmembrando células

Ao trabalhar com planilhas do Excel, muitas vezes precisamos mesclar e desfazer a mesclagem de 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 quisermos mesclar as células da célula A1 com a célula B2, a célula recém-formada será referida como A1. Para mesclar células usando openpyxl, primeiro selecionamos a planilha e, em seguida, aplicamos o método merge_cells () à planilha.

>>> # importing openpyxl module
>>> import openpyxl
>>> # pasta de trabalho de carregamento
>>> work_book = openpyxl.load_workbook ('exemplo.xlsx ')
>>> # selecionando a primeira planilha da pasta de trabalho do Excel
>>> planilha_1 = pasta de trabalho ['Primeira planilha']
>>> # mesclando células de A1 a B2 na planilha 1
>>> folha_1.merge_cells ('A1: B2')
>>> # livro de salvamento
>>> work_book.salvar ('exemplo.xlsx ')

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

>>> # selecionando planilha da pasta de trabalho
>>> folha_1 = pasta de trabalho ['Primeira folha']
>>> # células de descompactação de A1 para B2
>>> folha_1.unmerge_cells ('A1: B2')
>>> # livro de salvamento
>>> 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, em tais 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, bordas e dimensões de células e como mesclar e desfazer a mesclagem de células. Ao aplicar essas funções, você pode automatizar muitas tarefas de manipulação de planilhas usando Python.

Como mostrar a sobreposição de OSD em aplicativos e jogos Linux em tela cheia
Jogar jogos em tela cheia ou usar aplicativos em modo de tela cheia sem distração pode cortar você das informações relevantes do sistema visíveis em u...
Top 5 cartas de captura de jogos
Todos nós vimos e amamos streaming de jogos no YouTube. PewDiePie, Jakesepticye e Markiplier são apenas alguns dos melhores jogadores que ganharam mil...
Como desenvolver um jogo no Linux
Uma década atrás, poucos usuários de Linux preveriam que seu sistema operacional favorito um dia seria uma plataforma de jogos popular para videogames...