Travailler avec des données Excel en Python nécessite souvent d’extraire des lignes et des colonnes spécifiques dans un format de liste. Convertir une plage Excel en liste Python est extrêmement utile pour des tâches comme :

  • Analyse des données avec Pandas et NumPy
  • Automation des processus de reporting et d’ETL
  • Intégration avec des modèles ou des API d’apprentissage automatique

Dans cet article, nous allons apprendre comment convertir une plage Excel définie en une liste en Python étape par étape.

Bibliothèque de conversion Excel en liste Python

Au lieu de traiter manuellement des fichiers Excel, les développeurs peuvent utiliser Aspose.Cells for Python via .NET, une puissante bibliothèque de conversion d’Excel en liste. Cela facilite non seulement l’extraction de plages, de lignes et de colonnes dans des listes Python, mais prend également en charge des fonctionnalités avancées telles que les formules, le formatage, les graphiques et les tableaux croisés dynamiques, garantissant l’exactitude même avec des feuilles de calcul complexes.

Avant de coder, assurez-vous que votre configuration est prête :

  1. Installer Python 3.7+.
  2. Download Aspose.Cells from releases ou installez-le avec pip :
pip install aspose-cells-python
  1. Préparez un fichier Excel d’exemple (sampledata.xlsx) avec le contenu suivant :
Convertir Excel en Liste en Python : Fichier de Données d'Échantillon

Fichier de données Excel d’exemple.

Convertir une plage Excel en liste Python : Guide étape par étape

Passons par le processus de conversion d’une gamme de données Excel en une liste Python en utilisant Aspose.Cells for Python.

Suivez les étapes ci-dessous pour convertir une plage Excel en liste en Python :

  1. Tout d’abord, chargez le fichier Excel existant en utilisant la classe Workbook.
  2. Deuxièmement, récupérez la première feuille de calcul.
  3. Ensuite, créez une plage, par exemple, A1 à C4.
  4. Après cela, convertissez Range en une liste Python.
  5. Enfin, imprimez la liste.

Le script Python suivant charge le fichier Excel, définit une plage et la convertit en une liste Python.

from aspose.cells import Workbook

# Étape 1 : Chargez le classeur Excel
book = cells.Workbook("sample_data.xlsx")

# Étape 2 : Accéder à la première feuille de calcul
sheet1 = book.worksheets.get(0)

# Étape 3 : Définir la plage (A1:C4 dans cet exemple)
sheet_cells = sheet1.cells
range_obj = sheet_cells.create_range("A1", "C4")

# Étape 4 : Convertir la plage en une liste Python imbriquée
range_list = []
for row_index in range(range_obj.first_row, range_obj.first_row + range_obj.row_count):
    row = []
   for column_index in range(range_obj.first_column, range_obj.first_column + range_obj.column_count):
        curr_cell = sheet_cells.check_cell(row_index, column_index)
        row.append(curr_cell.value if curr_cell else "")
    range_list.append(row)

# Étape 5 : Imprimez la liste Python
print("Python List Output:")
print(range_list)

Output

Python List Output:
[['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036], ['Detroit', 'Central', 3074]]

Ce script complet montre comment extraire des données d’Excel et les convertir en une liste Python. Après cela, elles peuvent facilement être transformées en Pandas ou JSON en fonction de vos besoins.

Convertir une liste Python en DataFrame Pandas

Avec Pandas, vous pouvez directement transformer la liste en un DataFrame :

import pandas as pd

# Convert to a Pandas DataFrame
df = pd.DataFrame(range_list[1:], columns=range_list[0])
print(df)

Pandas DataFrame Output:

       City   Region  Store
0   Chicago  Central   3055
1  New York     East   3036
2   Detroit  Central   3074

Enregistrer une liste Python au format JSON

Vous pouvez également exporter les données au format JSON :

import json

# Convert to JSON
json_output = json.dumps(range_list)
print(json_output)

JSON Output:

[["City", "Region", "Store"], ["Chicago", "Central", 3055], ["New York", "East", 3036], ["Detroit", "Central", 3074]]

Convertir une ligne Excel en liste en Python

Parfois, vous voudrez peut-être extraire une seule ligne d’Excel et l’enregistrer en tant que liste. Voici comment le faire avec Aspose.Cells :

  1. Charger le classeur Excel.
  2. Accédez à la feuille de calcul cible.
  3. Sélectionnez la ligne par index.
  4. Collecter les valeurs de ligne dans une liste Python.
# Importez la bibliothèque Aspose.Cells
from aspose.cells import Workbook

# Étape 1 : Charger le classeur Excel à partir du fichier
book = Workbook("sample_data.xlsx")

# Étape 2 : Accédez à la première feuille de calcul dans le classeur
sheet = book.worksheets.get(0)

# Étape 3 : Définir l'index de la ligne (0 = première ligne, qui contient les en-têtes)
row_index = 0
cells = sheet.cells

# Créer un objet de plage pour la ligne sélectionnée
row_range = cells.create_range(row_index, 0, 1, sheet.cells.max_column + 1)

# Étape 4 : Convertir la ligne en une liste Python
row_list = []
for column_index in range(row_range.first_column, row_range.first_column + row_range.column_count):
    curr_cell = cells.check_cell(row_index, column_index)  # Get each cell in the row
    row_list.append(curr_cell.value if curr_cell else "")  # Append value or empty string if cell is blank

# Imprimez la ligne extraite sous forme de liste
print("Row to List:", row_list)

Output:

Row to List: ['City', 'Region', 'Store']

Convertir une colonne Excel en liste en Python

Vous pouvez également extraire une seule colonne dans une liste. Par exemple, convertissons la colonne Region en une liste :

  1. Chargez le classeur et la feuille de calcul.
  2. Sélectionnez la colonne par index.
  3. Parcourez chaque ligne dans la colonne.
  4. Collecter les valeurs de la colonne dans une liste.
# Importer la bibliothèque Aspose.Cells
from aspose.cells import Workbook

# Étape 1 : Charger le classeur Excel à partir du fichier
book = Workbook("sample_data.xlsx")

# Accédez à la première feuille de calcul dans le classeur
sheet = book.worksheets.get(0)

# Étape 2 : Définir l'index de colonne (0 = première colonne, c'est-à-dire, colonne A)
col_index = 0
cells = sheet.cells

# Créer un objet de plage pour la colonne sélectionnée
# Paramètres : (startrow, startcolumn, totalrows, totalcolumns)
# Ici, commencez à la ligne 0, sélectionnez colindex, incluez toutes les lignes, et largeur = 1 colonne
col_range = cells.create_range(0, col_index, sheet.cells.max_row + 1, 1)

# Étape 3 et 4 : Convertir la colonne en une liste Python
col_list = []
for row_index in range(col_range.first_row, col_range.first_row + col_range.row_count):
    curr_cell = cells.check_cell(row_index, col_index)  # Get each cell in the column
    if curr_cell:  # Only add if the cell exists (ignore empty rows)
        col_list.append(curr_cell.value)

# Imprimez la colonne extraite sous forme de liste.
print("Column to List:", col_list)

Output:

Column to List: ['City', 'Chicago', 'New York', 'Detroit']

Obtenez une licence gratuite

Évaluez Aspose.Cells for Python via .NET sans limites. Demandez une licence temporaire gratuite sur la page de licence.Appliquez-la dans votre code pour supprimer les restrictions d’évaluation. Testez chaque fonctionnalité, y compris DF vers Excel, graphiques, formules et grands fichiers.

Excel to List : Ressources gratuites

Faites usage des ressources suivantes pour approfondir vos connaissances, renforcer votre compréhension et acquérir des perspectives pratiques qui peuvent vous aider à appliquer ce que vous apprenez de manière plus efficace.

Conclusion

Nous avons démontré comment convertir des données Excel en listes Python en extrayant des plages, des lignes et des colonnes avec Aspose.Cells for Python via .NET. Une fois sous forme de liste, les données peuvent être utilisées pour Pandas, JSON ou d’autres tâches de traitement. Bien que des bibliothèques comme openpyxl ou pandas.readexcel puissent extraire des plages, Aspose.Cells offre un meilleur contrôle sur les formules, le formatage, les graphiques et les cellules fusionnées, ce qui en fait le meilleur choix pour des opérations Excel complexes.

Si vous avez besoin d’aide ou si vous avez des questions, n’hésitez pas à nous contacter sur notre Aspose.Cells Free Support Forum.Notre équipe sera ravie de vous aider.

Voir aussi