Python - Processando Dados XLS

O Microsoft Excel é um programa de planilha muito amplamente usado. Sua facilidade de uso e recursos atraentes o tornam uma ferramenta muito usada em Ciência de Dados. A biblioteca Panadas oferece recursos com os quais podemos ler o arquivo Excel na íntegra, bem como em partes para apenas um grupo selecionado de dados. Também podemos ler um arquivo Excel com várias planilhas. Nós usamos oread_excel função para ler os dados dele.

Entrada como arquivo Excel

Criamos um arquivo excel com múltiplas planilhas no sistema operacional windows. Os dados nas diferentes planilhas são mostrados abaixo.

Você pode criar este arquivo usando o programa Excel no sistema operacional Windows. Salve o arquivo comoinput.xlsx.

# Data in Sheet1

id,name,salary,start_date,dept
1,Rick,623.3,2012-01-01,IT
2,Dan,515.2,2013-09-23,Operations
3,Tusar,611,2014-11-15,IT
4,Ryan,729,2014-05-11,HR
5,Gary,843.25,2015-03-27,Finance
6,Rasmi,578,2013-05-21,IT
7,Pranab,632.8,2013-07-30,Operations
8,Guru,722.5,2014-06-17,Finance

# Data in Sheet2

id	name	zipcode
1	Rick	301224
2	Dan	341255
3	Tusar	297704
4	Ryan	216650
5	Gary	438700
6	Rasmi	665100
7	Pranab	341211
8	Guru	347480

Ler um arquivo Excel

o read_excelA função da biblioteca pandas é usada para ler o conteúdo de um arquivo Excel no ambiente python como um DataFrame do pandas. A função pode ler os arquivos do sistema operacional usando o caminho adequado para o arquivo. Por padrão, a função lerá Planilha1.

import pandas as pd
data = pd.read_excel('path/input.xlsx')
print (data)

Quando executamos o código acima, ele produz o seguinte resultado. Observe como uma coluna adicional começando com zero como um índice foi criada pela função.

id    name  salary  start_date        dept
0   1    Rick  623.30  2012-01-01          IT
1   2     Dan  515.20  2013-09-23  Operations
2   3   Tusar  611.00  2014-11-15          IT
3   4    Ryan  729.00  2014-05-11          HR
4   5    Gary  843.25  2015-03-27     Finance
5   6   Rasmi  578.00  2013-05-21          IT
6   7  Pranab  632.80  2013-07-30  Operations
7   8    Guru  722.50  2014-06-17     Finance

Leitura de colunas e linhas específicas

Semelhante ao que já vimos no capítulo anterior para ler o arquivo CSV, o read_excelA função da biblioteca pandas também pode ser usada para ler algumas colunas e linhas específicas. Usamos o método de indexação multi-eixos chamado.loc()para este propósito. Optamos por exibir a coluna de salário e nome para algumas das linhas.

import pandas as pd
data = pd.read_excel('path/input.xlsx')

# Use the multi-axes indexing funtion
print (data.loc[[1,3,5],['salary','name']])

Quando executamos o código acima, ele produz o seguinte resultado.

salary   name
1   515.2    Dan
3   729.0   Ryan
5   578.0  Rasmi

Leitura de várias planilhas do Excel

Múltiplas planilhas com diferentes formatos de dados também podem ser lidas usando a função read_excel com ajuda de uma classe wrapper chamada ExcelFile. Ele lerá as várias folhas na memória apenas uma vez. No exemplo abaixo, lemos a planilha1 e a planilha2 em dois quadros de dados e os imprimimos individualmente.

import pandas as pd
with pd.ExcelFile('C:/Users/Rasmi/Documents/pydatasci/input.xlsx') as xls:
    df1 = pd.read_excel(xls, 'Sheet1')
    df2 = pd.read_excel(xls, 'Sheet2')

print("****Result Sheet 1****")
print (df1[0:5]['salary'])
print("")
print("***Result Sheet 2****")
print (df2[0:5]['zipcode'])

Quando executamos o código acima, ele produz o seguinte resultado.

****Result Sheet 1****
0    623.30
1    515.20
2    611.00
3    729.00
4    843.25
Name: salary, dtype: float64

***Result Sheet 2****
0    301224
1    341255
2    297704
3    216650
4    438700
Name: zipcode, dtype: int64