Python - Traitement des données XLS

Microsoft Excel est un programme de feuille de calcul très largement utilisé. Sa convivialité et ses fonctionnalités attrayantes en font un outil très utilisé en Data Science. La bibliothèque Panadas fournit des fonctionnalités grâce auxquelles nous pouvons lire le fichier Excel dans son intégralité ainsi que dans certaines parties uniquement pour un groupe de données sélectionné. Nous pouvons également lire un fichier Excel contenant plusieurs feuilles. Nous utilisons leread_excel fonction pour en lire les données.

Entrée sous forme de fichier Excel

Nous créons un fichier Excel avec plusieurs feuilles dans le système d'exploitation Windows. Les données dans les différentes feuilles sont comme indiqué ci-dessous.

Vous pouvez créer ce fichier à l'aide du programme Excel dans le système d'exploitation Windows. Enregistrez le fichier sousinput.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

Lire un fichier Excel

le read_excelLa fonction de la bibliothèque pandas est utilisée pour lire le contenu d'un fichier Excel dans l'environnement python en tant que DataFrame pandas. La fonction peut lire les fichiers à partir du système d'exploitation en utilisant le chemin d'accès approprié au fichier. Par défaut, la fonction lira Sheet1.

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

Lorsque nous exécutons le code ci-dessus, cela produit le résultat suivant. Veuillez noter comment une colonne supplémentaire commençant par zéro comme index a été créée par la fonction.

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

Lecture de colonnes et de lignes spécifiques

Similaire à ce que nous avons déjà vu dans le chapitre précédent pour lire le fichier CSV, le read_excelLa fonction de la bibliothèque pandas peut également être utilisée pour lire certaines colonnes et lignes spécifiques. Nous utilisons la méthode d'indexation multi-axes appelée.loc()dans ce but. Nous choisissons d'afficher la colonne salaire et nom pour certaines des lignes.

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

Lorsque nous exécutons le code ci-dessus, cela produit le résultat suivant.

salary   name
1   515.2    Dan
3   729.0   Ryan
5   578.0  Rasmi

Lire plusieurs feuilles Excel

Plusieurs feuilles avec différents formats de données peuvent également être lues à l'aide de la fonction read_excel à l'aide d'une classe wrapper nommée ExcelFile. Il lira les feuilles multiples en mémoire une seule fois. Dans l'exemple ci-dessous, nous lisons feuille1 et feuille2 dans deux blocs de données et les imprimons individuellement.

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

Lorsque nous exécutons le code ci-dessus, cela produit le résultat suivant.

****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