curso
Tutorial do Python Excel: O guia definitivo
Introdução ao Excel em Python
Quer você seja estudante ou profissional, é provável que já tenha usado o Excel para trabalhar com dados e processar números.
De fato, uma pesquisa realizada em 2019 constatou que cerca de 54% das empresas usam o Excel para realizar operações aritméticas, analisar dados, criar visualizações e gerar relatórios. Você também pode executar tarefas de modelagem preditiva, como regressão e agrupamento, usando o Excel.
No entanto, apesar dos pontos fortes indiscutíveis do Excel, a ferramenta tem seu próprio conjunto de desvantagens, tornando-a, às vezes, ineficiente ao executar tarefas específicas que envolvem grandes conjuntos de dados.
Uma limitação do Excel é sua incapacidade de lidar com grandes quantidades de dados. Você pode ter sérios problemas de desempenho ao tentar executar operações complexas em muitas entradas de dados no Excel, especialmente se suas fórmulas e macros não estiverem otimizadas para desempenho.
O Excel também pode consumir muito tempo se você precisar executar tarefas repetitivas. Por exemplo, se você precisar replicar uma análise em vários arquivos do Excel toda semana, terá que abri-los manualmente e copiar e colar as mesmas fórmulas várias vezes.
Pesquisas mostram que 93% dos usuários do Excel consideram demorada a consolidação de planilhas e que os funcionários gastam aproximadamente 12 horas por mês apenas combinando diferentes arquivos do Excel.
Essas desvantagens podem ser resolvidas automatizando os fluxos de trabalho do Excel com Python. Tarefas como consolidação de planilhas, limpeza de dados e modelagem preditiva podem ser realizadas em minutos usando um script Python simples que grava em um arquivo do Excel.
Os usuários do Excel também podem criar um agendador em Python que executa o script automaticamente em diferentes intervalos de tempo, reduzindo drasticamente a quantidade de intervenção humana necessária para executar a mesma tarefa repetidamente.
Neste artigo, mostraremos a você como fazer isso:
- Use uma biblioteca chamada Openpyxl para ler e gravar arquivos do Excel usando Python
- Criar operações aritméticas e fórmulas do Excel em Python
- Manipular planilhas do Excel usando Python
- Crie visualizações em Python e salve-as em um arquivo do Excel
- Formatar cores e estilos de células do Excel usando Python
Introdução ao Openpyxl
O Openpyxl é uma biblioteca Python que permite aos usuários ler arquivos do Excel e gravar neles.
Essa estrutura pode ajudar você a escrever funções, formatar planilhas, criar relatórios e criar gráficos diretamente no Python sem precisar abrir um aplicativo do Excel.
Além disso, o Openpyxl permite que os usuários iterem pelas planilhas e realizem a mesma análise em vários conjuntos de dados ao mesmo tempo.
Isso aumenta a eficiência e permite a automação dos fluxos de trabalho do Excel, pois os usuários só precisam realizar a análise em uma planilha e podem replicá-la quantas vezes forem necessárias.
Como instalar o Openpyxl
Para instalar o Openpyxl, basta abrir o prompt de comando ou o Powershell e digitar o seguinte comando:
$pip install Openpyxl
Você deverá ver a seguinte mensagem indicando que o pacote foi instalado com sucesso:
Lendo arquivos do Excel em Python com o Openpyxl
Neste tutorial, usaremos o conjunto de dados de vendas de videogames da Kaggle. Esse conjunto de dados foi pré-processado por nossa equipe para fins deste tutorial, e você pode fazer o download da versão modificada neste link. Você pode importar o Excel para o Python seguindo o processo abaixo:
-
Carregando a pasta de trabalho
Depois de fazer o download do conjunto de dados, importe a biblioteca Openpyxl e carregue a pasta de trabalho no Python:
import openpyxl wb = openpyxl.load_workbook('videogamesales.xlsx')
Agora que o arquivo do Excel está carregado como um objeto Python, você precisa informar à biblioteca qual planilha deve ser acessada. Há duas maneiras de fazer isso:
O primeiro método é simplesmente chamar a planilha ativa, que é a primeira planilha da pasta de trabalho, usando a seguinte linha de código:
ws = wb.active
Como alternativa, se você souber o nome da planilha, também poderá acessá-la pelo nome. Usaremos a planilha "vgsales" nesta seção do tutorial:
ws = wb['vgsales']
Agora, vamos contar o número de linhas e colunas dessa planilha:
print('Total number of rows: '+str(ws.max_row)+'. And total number of columns: '+str(ws.max_column))
O código acima deve gerar o seguinte resultado:
Total number of rows: 16328. And total number of columns: 10
Agora que você já conhece as dimensões da planilha, vamos prosseguir e aprender a ler os dados da pasta de trabalho.
-
Leitura de dados de uma célula
Aqui está uma captura de tela da planilha ativa com a qual trabalharemos nesta seção:
Para recuperar dados de uma célula específica com o Openpyxl, você pode digitar o valor da célula desta forma:
print('The value in cell A1 is: '+ws['A1'].value)
Você deve obter o seguinte resultado:
The value in cell A1 is: Rank
-
Leitura de dados de várias células
Agora que sabemos como ler dados de uma célula específica, e se quiséssemos imprimir todos os valores das células em uma determinada linha da planilha?
Para fazer isso, você pode escrever um simples `for loop` para iterar todos os valores em uma linha específica:
values = [ws.cell(row=1,column=i).value for i in range(1,ws.max_column+1)] print(values)
O código acima imprimirá todos os valores na primeira linha:
['Rank', 'Name', 'Platform', 'Year', 'Genre', 'Publisher', 'NA_Sales', 'EU_Sales', 'JP_Sales', 'Other_Sales']
Em seguida, vamos tentar imprimir várias linhas em uma coluna específica.
Criaremos um loop for para renderizar as dez primeiras linhas da coluna "Name" como uma lista. Você deve obter os nomes destacados na caixa vermelha abaixo:
data=[ws.cell(row=i,column=2).value for i in range(2,12)] print(data)
O código acima gerará o seguinte resultado:
['Wii Sports', 'Super Mario Bros.', 'Mario Kart Wii', 'Wii Sports Resort', 'Pokemon Red/Pokemon Blue', 'Tetris', 'New Super Mario Bros.', 'Wii Play', 'New Super Mario Bros. Wii', 'Duck Hunt']
Por fim, vamos imprimir as dez primeiras linhas em um intervalo de colunas na planilha:
# reading data from a range of cells (from column 1 to 6) my_list = list() for value in ws.iter_rows( min_row=1, max_row=11, min_col=1, max_col=6, values_only=True): my_list.append(value) for ele1,ele2,ele3,ele4,ele5,ele6 in my_list: (print ("{:<8}{:<35}{:<10} {:<10}{:<15}{:<15}".format(ele1,ele2,ele3,ele4,ele5,ele6)))
As primeiras dez linhas de dados nas primeiras seis colunas devem ser exibidas depois que você executar o código acima:
Gravação em arquivos do Excel com o Openpyxl
Agora que sabemos como acessar e ler dados de arquivos do Excel, vamos aprender a gravar neles usando o Openpyxl.
-
Escrevendo em uma célula
Há duas maneiras de você gravar em um arquivo com o Openpyxl.
Primeiro, você pode acessar a célula diretamente usando sua chave:
ws['K1'] = 'Sum of Sales'
Uma alternativa é especificar a posição da linha e da coluna da célula na qual você gostaria de escrever:
ws.cell(row=1, column=11, value = 'Sum of Sales')
Sempre que gravar em um arquivo do Excel com o Openpyxl, você precisará salvar as alterações com a seguinte linha de código ou elas não serão refletidas na planilha:
wb.save('videogamesales.xlsx')
Se a pasta de trabalho estiver aberta quando você tentar salvá-la, ocorrerá o seguinte erro de permissão:
Certifique-se de fechar o arquivo do Excel antes de salvar suas alterações. Em seguida, você pode abri-la novamente para garantir que a alteração seja refletida na planilha:
Observe que uma nova coluna chamada "Soma das vendas" foi criada na célula K1.
-
Criando uma nova coluna
Vamos agora adicionar a soma das vendas em cada região e escrevê-la na coluna K.
Faremos isso para os dados de vendas na primeira linha:
row_position = 2 col_position = 7 total_sales = ((ws.cell(row=row_position, column=col_position).value)+ (ws.cell(row=row_position, column=col_position+1).value)+ (ws.cell(row=row_position, column=col_position+2).value)+ (ws.cell(row=row_position, column=col_position+3).value)) ws.cell(row=2,column=11).value=total_sales wb.save('videogamesales.xlsx')
Observe que o total de vendas foi calculado na célula K2 para o primeiro jogo da planilha:
Da mesma forma, vamos criar um loop for para somar os valores de vendas em cada linha:
row_position = 1 for i in range(1, ws.max_row): row_position += 1 NA_Sales = ws.cell(row=row_position, column=7).value EU_Sales = ws.cell(row=row_position, column=8).value JP_Sales = ws.cell(row=row_position, column=9).value Other_Sales = ws.cell(row=row_position, column=10).value total_sales = (NA_Sales + EU_Sales + JP_Sales + Other_Sales) ws.cell(row=row_position, column=11).value = total_sales wb.save("videogamesales.xlsx")
Agora, seu arquivo do Excel deve ter uma nova coluna que reflete o total de vendas de videogames em todas as regiões:
-
Anexar novas linhas
Para anexar uma nova linha à pasta de trabalho, basta criar uma tupla com os valores que você gostaria de incluir e gravá-la na planilha:
new_row = (1,'The Legend of Zelda',1986,'Action','Nintendo',3.74,0.93,1.69,0.14,6.51,6.5) ws.append(new_row) wb.save('videogamesales.xlsx')
Você pode confirmar que esses dados foram anexados imprimindo a última linha da pasta de trabalho:
values = [ws.cell(row=ws.max_row,column=i).value for i in range(1,ws.max_column+1)] print(values)
A seguinte saída será gerada:
[1, 'The Legend of Zelda', 1986, 'Action', 'Nintendo', 3.74, 0.93, 1.69, 0.14, 6.51, 6.5]
-
Exclusão de linhas
Para excluir a nova linha que acabamos de criar, você pode executar a seguinte linha de código:
ws.delete_rows(ws.max_row, 1) # row number, number of rows to delete wb.save('videogamesales.xlsx')
O primeiro argumento da função delete_rows() é o número da linha que você deseja excluir. O segundo argumento indica o número de linhas que devem ser excluídas.
Criando fórmulas do Excel com o Openpyxl
Você pode usar o Openpyxl para escrever fórmulas exatamente como faria no Excel. Aqui estão alguns exemplos de funções básicas que você pode criar usando o Openpyxl:
-
MÉDIA
Vamos criar uma nova coluna chamada "Average Sales" para calcular o total médio de vendas de videogames em todos os mercados:
ws['P1'] = 'Average Sales' ws['P2'] = '= AVERAGE(K2:K16220)' wb.save('videogamesales.xlsx')
A média de vendas em todos os mercados é de aproximadamente 0,19. Isso será impresso na célula P2 de sua planilha.
-
PAÍS
A função "COUNTA" do Excel conta as células que são preenchidas em um intervalo específico. Vamos usá-lo para encontrar o número de registros entre E2 e E16220:
ws['Q1'] = "Number of Populated Cells" ws['Q2'] = '=COUNTA(E2:E16220)' wb.save('videogamesales.xlsx')
Há 16.219 registros nesse intervalo que contêm informações.
-
CONTRIBUIÇÃO
COUNTIF é uma função do Excel comumente usada para contar o número de células que atendem a uma condição específica. Vamos usá-lo para contar o número de jogos nesse conjunto de dados com o gênero "Esportes":
ws['R1'] = 'Number of Rows with Sports Genre' ws['R2'] = '=COUNTIF(E2:E16220, "Sports")' wb.save('videogamesales.xlsx')
Há 2.296 jogos esportivos no conjunto de dados.
-
SUMIF
Agora, vamos descobrir a "Soma de vendas" total gerada pelos jogos esportivos usando a função SUMIF:
ws['S1'] = 'Total Sports Sales' ws['S2'] = '=SUMIF(E2:E16220, "Sports",K2:K16220)' wb.save('videogamesales.xlsx')
O número total de vendas geradas por jogos esportivos é 454.
-
TETO
A função CEILING do Excel arredonda um número até o múltiplo especificado mais próximo. Vamos arredondar o valor total das vendas geradas pelos jogos esportivos usando essa função:
ws['T1'] = 'Rounded Sum of Sports Sales' ws['T2'] = '=CEILING(S2,25)' wb.save('videogamesales.xlsx')
Arredondamos o total de vendas geradas por jogos esportivos para o múltiplo mais próximo de 25, o que gera um resultado de 475.
Os trechos de código acima devem gerar a seguinte saída em sua planilha do Excel (das células P1 a T2):
Você pode consultar nossa Folha de dicas básicas do Excel para saber mais sobre fórmulas, operadores, funções matemáticas e computação condicional do Excel.
Trabalhando com planilhas no Openpyxl
Agora que sabemos como acessar planilhas e gravar nelas, vamos aprender a manipular, remover e duplicá-las usando o Openpyxl.
-
Como alterar nomes de planilhas
Primeiro, vamos imprimir o nome da planilha ativa com a qual estamos trabalhando no momento usando o atributo title do Openpyxl:
print(ws.title)
Você verá o seguinte resultado:
vgsales
Agora, vamos renomear essa planilha usando as seguintes linhas de código:
ws.title ='Video Game Sales Data' wb.save('videogamesales.xlsx')
O nome da planilha ativa agora deve ser alterado para "Video Game Sales Data".
-
Criando uma nova planilha
Execute a seguinte linha de código para listar todas as planilhas da pasta de trabalho:
print(wb.sheetnames)
Você verá uma matriz listando os nomes de todas as planilhas do arquivo:
['Video Game Sales Data', 'Total Sales by Genre', 'Breakdown of Sales by Genre', 'Breakdown of Sales by Year']
Agora, vamos criar uma nova planilha vazia:
wb.create_sheet('Empty Sheet') # create an empty sheet print(wb.sheetnames) # print sheet names again wb.save('videogamesales.xlsx')
Observe que uma nova planilha chamada "Empty Sheet" foi criada:
['Video Game Sales Data', 'Total Sales by Genre', 'Breakdown of Sales by Genre', 'Breakdown of Sales by Year', ‘Empty Sheet’]
-
Exclusão de uma planilha
Para excluir uma planilha usando o Openpyxl, basta usar o atributo remove e imprimir todos os nomes de planilhas novamente para confirmar que a planilha foi excluída:
wb.remove(wb['Empty Sheet']) print(wb.sheetnames) wb.save('videogamesales.xlsx')
Observe que a planilha "Empty Sheet" não está mais disponível:
['Video Game Sales Data', 'Total Sales by Genre', 'Breakdown of Sales by Genre', 'Breakdown of Sales by Year']
-
Duplicação de uma planilha
Por fim, execute esta linha de código para criar uma cópia de uma planilha existente:
wb.copy_worksheet(wb['Video Game Sales Data']) wb.save('vgsales_2.xlsx')
Imprimindo todos os nomes das planilhas novamente, obtemos o seguinte resultado:
['Video Game Sales Data', 'Total Sales by Genre', 'Breakdown of Sales by Genre', 'Breakdown of Sales by Year', 'Video Game Sales Data Copy']
Como adicionar gráficos a um arquivo do Excel com o Openpyxl
O Excel é geralmente visto como a ferramenta ideal para criar visualizações e resumir conjuntos de dados. Nesta seção, aprenderemos a criar gráficos no Excel diretamente do Python usando o Openpyxl.
-
Gráfico de barras
Vamos primeiro criar um gráfico de barras simples exibindo o total de vendas de videogames por gênero. Para isso, usaremos a planilha "Total Sales by Genre" (Vendas totais por gênero):
Essa planilha contém uma tabela dinâmica na qual a soma das vendas foi agregada por gênero, conforme mostrado na captura de tela acima.
Vamos acessar essa planilha antes de começarmos a criar o gráfico de barras:
ws = wb['Total Sales by Genre'] # access the required worksheet
Agora, precisamos informar ao Openpyxl os valores e as categorias que gostaríamos de plotar.
Valores:
Os valores incluem os dados da "Soma de vendas" que queremos plotar. Precisamos informar ao Openpyxl onde encontrar esses dados no arquivo do Excel, incluindo o intervalo em que os valores começam e terminam.
Quatro parâmetros no Openpyxl permitem que você especifique onde os valores estão localizados:
- Min_column: A coluna mínima que contém dados
- Max_column: A coluna máxima que contém dados
- Linha mínima: A linha mínima que contém dados
- Max_row: A linha máxima que contém dados
Aqui está uma imagem que mostra como você pode definir esses parâmetros:
Observe que a linha mínima é a primeira linha e não a segunda. Isso ocorre porque o Openpyxl começa a contar a partir da linha que contém um valor numérico.
# Values for plotting from openpyxl.chart import Reference values = Reference(ws, # worksheet object min_col=2, # minimum column where your values begin max_col=2, # maximum column where your values end min_row=1, # minimum row you’d like to plot from max_row=13) # maximum row you’d like to plot from
Categorias
Agora, precisamos definir os mesmos parâmetros para as categorias em nosso gráfico de barras:
Aqui está o código que você pode usar para definir parâmetros para as categorias do gráfico:
cats = Reference(ws, min_col=1, max_col=1, min_row=2, max_row=13)
Criando o gráfico de barras
Agora, podemos criar o objeto de gráfico de barras e incluir nossos valores e categorias usando as seguintes linhas de código:
from openpyxl.chart import BarChart chart = BarChart() chart.add_data(values, titles_from_data=True) chart.set_categories(cats)
Definir títulos de gráficos
Por fim, você pode definir os títulos do gráfico e informar ao Openpyxl onde deseja criá-lo na planilha do Excel:
# set the title of the chart chart.title = "Total Sales" # set the title of the x-axis chart.x_axis.title = "Genre" # set the title of the y-axis chart.y_axis.title = "Total Sales by Genre" # the top-left corner of the chart # is anchored to cell F2 . ws.add_chart(chart,"D2") # save the file wb.save("videogamesales.xlsx")
Em seguida, você pode abrir o arquivo do Excel e navegar até a planilha "Total Sales by Genre" (Vendas totais por gênero). Você deve notar a exibição de um gráfico parecido com este:
-
Gráfico de barras agrupadas
Agora, vamos criar um gráfico de barras agrupadas exibindo o total de vendas por gênero e região. Você pode encontrar os dados para esse gráfico na planilha "Breakdown of Sales by Genre":
Da mesma forma que criamos o gráfico de barras, precisamos definir o intervalo para valores e categorias:
Agora podemos acessar a planilha e escrever isso no código:
### Creating a Grouped Bar Chart with Openpyxl ws = wb['Breakdown of Sales by Genre'] # access worksheet # Data for plotting values = Reference(ws, min_col=2, max_col=5, min_row=1, max_row=13) cats = Reference(ws, min_col=1, max_col=1, min_row=2, max_row=13)
Agora podemos criar o objeto de gráfico de barras, incluir os valores e as categorias nele e definir os parâmetros de título exatamente como fizemos anteriormente:
# Create object of BarChart class chart = BarChart() chart.add_data(values, titles_from_data=True) chart.set_categories(cats) # set the title of the chart chart.title = "Sales Breakdown" # set the title of the x-axis chart.x_axis.title = "Genre" # set the title of the y-axis chart.y_axis.title = "Breakdown of Sales by Genre" # the top-left corner of the chart is anchored to cell H2. ws.add_chart(chart,"H2") # save the file wb.save("videogamesales.xlsx")
Quando você abrir a planilha, deverá aparecer um gráfico de barras agrupadas parecido com este:
-
Gráfico de linhas empilhadas
Por fim, criaremos um gráfico de linhas empilhadas usando os dados da guia "Breakdown of Sales by Year". Essa planilha contém dados de vendas de videogames divididos por ano e região:
Vamos definir o intervalo para os valores e as categorias desse gráfico:
Agora podemos escrever esses valores mínimos e máximos no código:
# Data for plotting values = Reference(ws, min_col=2, max_col=6, min_row=1, max_row=40) cats = Reference(ws, min_col=1, max_col=1, min_row=2, max_row=40)
Por fim, vamos criar o objeto de gráfico de linhas e definir o título, o eixo x e o eixo y do gráfico:
# Create object of LineChart class from openpyxl.chart import LineChart chart = LineChart() chart.add_data(values, titles_from_data=True) chart.set_categories(cats) # set the title of the chart chart.title = "Total Sales" # set the title of the x-axis chart.x_axis.title = "Year" # set the title of the y-axis chart.y_axis.title = "Total Sales by Year" # the top-left corner of the chart is anchored to cell H2 ws.add_chart(chart,"H2") # save the file wb.save("videogamesales.xlsx")
Um gráfico de linhas empilhadas parecido com este deve aparecer na planilha:
Formatação de células usando o Openpyxl
O Openpyxl permite que os usuários estilizem células em pastas de trabalho do Excel. Você pode deixar sua planilha mais bonita alterando o tamanho das fontes, as cores de fundo e as bordas das células diretamente no Python.
Aqui estão algumas maneiras de personalizar sua planilha Python Excel usando o Openpyxl:
-
Alteração de tamanhos e estilos de fonte
Vamos aumentar o tamanho da fonte na célula A1 e colocar o texto em negrito usando as seguintes linhas de código:
from openpyxl.styles import Font ws = wb['Video Game Sales Data'] ws['A1'].font = Font(bold=True, size=12) wb.save('videogamesales.xlsx')
Observe que o texto na célula A1 agora está um pouco maior e em negrito:
Agora, e se você quiser alterar o tamanho e o estilo da fonte de todos os cabeçalhos de coluna na primeira linha?
Para fazer isso, podemos usar o mesmo código e simplesmente criar um loop for para iterar por todas as colunas na primeira linha:
for cell in ws["1:1"]: cell.font = Font(bold=True, size=12) wb.save('videogamesales.xlsx')
Quando iteramos através de ["1:1"], estamos informando ao Openpyxl as linhas inicial e final para percorrer. Se quiséssemos percorrer as dez primeiras linhas, por exemplo, especificaríamos ["1:10"] em vez disso.
Você pode abrir a planilha do Excel para verificar se as alterações foram refletidas:
-
Alteração da cor da fonte
Você pode alterar as cores das fontes no Openpyxl usando códigos hexadecimais:
from openpyxl.styles import colors ws['A1'].font = Font(color = 'FF0000',bold=True, size=12) ## red ws['A2'].font = Font(color = '0000FF') ## blue wb.save('videogamesales.xlsx')
Depois de salvar a pasta de trabalho e abri-la novamente, as cores das fontes nas células A1 e A2 devem ter mudado:
-
Alteração da cor de fundo da célula
Para alterar a cor de fundo de uma célula, você pode usar o módulo PatternFill do Openpyxl:
## changing background color of a cell from openpyxl.styles import PatternFill ws["A1"].fill = PatternFill('solid', start_color="38e3ff") # light blue background color wb.save('videogamesales.xlsx')
A seguinte alteração deve ser refletida em sua planilha:
-
Adicionando bordas de células
Para adicionar uma borda de célula usando o Openpyxl, execute as seguintes linhas de código:
## cell borders from openpyxl.styles import Border, Side my_border = Side(border_style="thin", color="000000") ws["A1"].border = Border( top=my_border, left=my_border, right=my_border, bottom=my_border ) wb.save("videogamesales.xlsx")
Você deverá ver uma borda semelhante a esta aparecer na célula A1:
-
Formatação condicional
A formatação condicional é o processo de destacar valores específicos em um arquivo do Excel com base em um conjunto de condições. Ele permite que os usuários visualizem os dados com mais facilidade e compreendam melhor os valores em suas planilhas.
Vamos usar o Openpyxl para destacar em verde todos os valores de vendas de videogames que são maiores ou iguais a 8:
from openpyxl.formatting.rule import CellIsRule fill = PatternFill( start_color='90EE90', end_color='90EE90',fill_type='solid') # specify background color ws.conditional_formatting.add( 'G2:K16594', CellIsRule(operator='greaterThan', formula=[8], fill=fill)) # include formatting rule wb.save('videogamesales.xlsx')
No primeiro bloco de código, especificamos a cor de fundo das células que gostaríamos de formatar. Nesse caso, a cor é verde-claro.
Em seguida, criamos uma regra de formatação condicional informando que qualquer valor maior que 8 deve ser destacado com a cor de preenchimento que especificamos. Também indicamos o intervalo de células no qual gostaríamos de aplicar essa condição.
Depois de executar o código acima, todos os valores de vendas acima de 8 devem ser destacados da seguinte forma:
Trabalhando com o Excel em Python: Próximas etapas
Cobrimos uma grande quantidade de assuntos neste tutorial, desde o básico do uso da biblioteca Openpyxl até a realização de operações mais avançadas, como a criação de gráficos e a formatação de planilhas em Python.
Por si só, o Python e o Excel são ferramentas poderosas de manipulação de dados usadas para criar modelos preditivos, produzir relatórios analíticos e realizar cálculos matemáticos.
A maior vantagem do Excel é que ele é usado por quase todo mundo. De partes interessadas não técnicas a pessoas de nível básico, funcionários de todos os níveis entendem os relatórios apresentados em uma planilha do Excel.
O Python, por outro lado, é usado para analisar e criar modelos em grandes quantidades de dados. Ele pode ajudar as equipes a automatizar tarefas trabalhosas e melhorar a eficiência organizacional.
Quando o Excel e o Python são usados juntos, você pode economizar horas nos fluxos de trabalho de uma empresa e, ao mesmo tempo, manter uma interface com a qual todos na organização estão familiarizados.
Agora que você já sabe como o Openpyxl pode ser usado para trabalhar com planilhas do Excel, veja algumas maneiras de levar esse conhecimento recém-adquirido adiante e usá-lo para agregar valor aos seus fluxos de trabalho existentes:
-
Prática em conjuntos de dados maiores
O conjunto de dados que usamos acima tem apenas cerca de 16.000 linhas, enquanto o Openpyxl pode lidar com quantidades muito maiores usando os modos otimizados da biblioteca. Se o seu objetivo é realizar operações em grandes pastas de trabalho do Excel rapidamente, você pode praticar o uso do Openpyxl em seus modos otimizados de leitura e gravação. -
Faça um curso on-line
Embora tenhamos abordado os fundamentos do trabalho com o Excel em Python, há muitos conceitos que estavam fora do escopo deste curso - incluindo o trabalho com várias planilhas do Excel, a criação de tabelas dinâmicas e o resumo de grandes quantidades de dados.
Sugerimos que você faça o curso Python for Spreadsheet Users da Datacamp para preencher algumas dessas lacunas em seu conhecimento. -
Aprenda a automatizar os fluxos de trabalho do Excel em Python
Conforme mencionado anteriormente nesta seção, a maior vantagem de usar bibliotecas como o Openpyxl é a capacidade de trabalhar com várias pastas de trabalho ao mesmo tempo e programar fluxos de trabalho para que não precisem ser repetidos muitas vezes.
Você pode tentar criar uma função simples que itere por várias pastas de trabalho ao mesmo tempo e realize algumas das operações abordadas neste tutorial. -
Aprenda sobre diferentes bibliotecas
Embora o Openpyxl seja uma opção para manipular arquivos do Excel com Python, há alternativas como a biblioteca Pandas, que pode ajudar você a processar o conteúdo do Excel mais rapidamente.
Se a formatação de células ou o trabalho direto com fórmulas do Excel não for um requisito para você, o Pandas pode ser mais fácil de aprender, pois tem melhor documentação e suporte da comunidade.
Você pode fazer nosso curso Manipulação de dados com Pandas para começar a aprender sobre a biblioteca hoje mesmo.
Saiba mais sobre Python e planilhas
curso
Pandas Joins for Spreadsheet Users
curso
Introduction to Importing Data in Python
tutorial
Tutorial do Python pandas: O guia definitivo para iniciantes
tutorial
Tutorial de execução de scripts Python no Power BI
tutorial
Tutorial de funções Python
tutorial
Tutorial de como executar scripts Python
tutorial
Tutorial pandas read csv(): Importação de dados
tutorial