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