Python: procesamiento de datos XLS

Microsoft Excel es un programa de hoja de cálculo muy utilizado. Su facilidad de uso y características atractivas la convierten en una herramienta muy utilizada en Data Science. La biblioteca de Panadas proporciona funciones con las que podemos leer un archivo de Excel en su totalidad, así como en partes solo para un grupo seleccionado de datos. También podemos leer un archivo de Excel con varias hojas. Usamos read_excel una función para leer datos de él.

Ingrese como archivo de Excel

Cree un archivo de Excel con varias hojas en Windows. Los datos de las diferentes hojas se muestran a continuación.

Puede crear este archivo usando Excel en Windows. Guarde el archivo como input.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

Leer un archivo de Excel

EN read_excel La función de la biblioteca de pandas se utiliza para leer el contenido de un archivo de Excel en el entorno de Python como un DataFrame de pandas. La función puede leer archivos del sistema operativo utilizando la ruta de archivo correcta. De forma predeterminada, la función leerá Hoja1.

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

Cuando ejecutamos el código anterior, da el siguiente resultado. Observe cómo la función ha creado una columna de base cero adicional como índice.

   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

Leer columnas y filas específicas

Similar a lo que vimos en el capítulo anterior, para leer un archivo CSV, read_excel La función de la biblioteca de pandas también se puede utilizar para leer algunas columnas y filas específicas. Usamos una técnica de indexación de múltiples ejes llamada .loc () para esto. Decidimos mostrar las columnas de salario y nombre para algunas filas.

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']])

Cuando ejecutamos el código anterior, da el siguiente resultado.

   salary   name
1   515.2    Dan
3   729.0   Ryan
5   578.0  Rasmi

Leer varias hojas de Excel

También se pueden leer varias hojas con diferentes formatos de datos con la función read_excel usando una clase contenedora llamada Archivo Excel… Leerá varias hojas en la memoria solo una vez. En el siguiente ejemplo, leemos la hoja 1 y la hoja 2 en dos marcos de datos y los imprimimos por separado.

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'])

Cuando ejecutamos el código anterior, da el siguiente 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

🚫