Lavorare con i dati di Excel in Python richiede spesso di estrarre righe e colonne specifiche in formato lista. Convertire un intervallo di Excel in una lista Python è estremamente utile per attività come:

  • Analisi dei dati con Pandas e NumPy
  • Automazione della reportistica e dei processi ETL
  • Integrazione con modelli di machine learning o API

In questo articolo, impareremo come convertire un intervallo definito di Excel in un elenco in Python passo dopo passo.

Libreria di conversione da Excel a lista per Python

Invece di analizzare manualmente i file Excel, gli sviluppatori possono utilizzare Aspose.Cells for Python tramite .NET, una potente libreria di conversione da Excel a elenco. Non solo rende più facile estrarre intervalli, righe e colonne in elenchi Python, ma supporta anche funzionalità avanzate come formule, formattazione, grafici e tabelle pivot, garantendo precisione anche con fogli di calcolo complessi.

Prima di codificare, assicurati che la tua configurazione sia pronta:

  1. Installa Python 3.7+.
  2. Scarica Aspose.Cells dalle release o installalo con pip:
pip install aspose-cells-python
  1. Preparare un file Excel di esempio (sampledata.xlsx) con il seguente contenuto:
Convertire Excel in Elenco in Python: File Dati di Esempio

File di dati Excel di esempio.

Convertire l’intervallo Excel in un elenco Python: guida passo-passo

Facciamo passtare il processo di conversione di un intervallo di dati Excel in un elenco Python utilizzando Aspose.Cells for Python.

Segui i passaggi seguenti per convertire un intervallo di Excel in un elenco in Python:

  1. Prima di tutto, carica il file Excel esistente utilizzando la classe Workbook.
  2. Secondo, recupera il primo foglio di lavoro.
  3. Successivamente, crea un intervallo, ad esempio, A1 a C4.
  4. Dopo di ciò, converti Range in una lista Python.
  5. Finalmente, stampa l’elenco.

Il seguente script Python carica il file Excel, definisce un intervallo e lo converte in una lista Python.

from aspose.cells import Workbook

# Passo 1: Carica il file Excel
book = cells.Workbook("sample_data.xlsx")

# Passo 2: Accedi al primo foglio di lavoro
sheet1 = book.worksheets.get(0)

# Passo 3: Definire l'intervallo (A1:C4 in questo esempio)
sheet_cells = sheet1.cells
range_obj = sheet_cells.create_range("A1", "C4")

# Passo 4: Converti l'intervallo in un elenco Python annidato
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)

# Passo 5: Stampa la lista 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]]

Questo script completo mostra come estrarre dati da Excel e convertirli in un elenco Python. Dopo di che, possono facilmente essere trasformati in Pandas o JSON a seconda delle tue esigenze.

Convertire un elenco Python in un DataFrame Pandas

Con Pandas, puoi trasformare direttamente l’elenco in un DataFrame:

import pandas as pd

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

Output del DataFrame Pandas:

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

Salva la lista Python come JSON

Puoi anche esportare i dati come 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]]

Convertire una riga di Excel in un elenco in Python

A volte potresti voler estrarre solo una singola riga da Excel e salvarla come un elenco. Ecco come farlo con Aspose.Cells:

  1. Carica il file di Excel.
  2. Access the target worksheet.
  3. Seleziona la riga per indice.
  4. Raccogli i valori delle righe in un elenco Python.
# Importa la libreria Aspose.Cells
from aspose.cells import Workbook

# Passo 1: Carica il file Excel dal file
book = Workbook("sample_data.xlsx")

# Passo 2: Accedi al primo foglio di lavoro nel workbook
sheet = book.worksheets.get(0)

# Passo 3: Definire l'indice della riga (0 = prima riga, che contiene le intestazioni)
row_index = 0
cells = sheet.cells

# Crea un oggetto range per la riga selezionata
row_range = cells.create_range(row_index, 0, 1, sheet.cells.max_column + 1)

# Passo 4: Convertire la riga in una lista 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

# Stampa la riga estratta come un elenco.
print("Row to List:", row_list)

Output:

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

Convertire la colonna di Excel in un elenco in Python

Puoi anche estrarre una singola colonna in una lista. Ad esempio, lasciaci convertire la colonna Regione in una lista:

  1. Carica il file di lavoro e il foglio di lavoro.
  2. Seleziona la colonna per indice.
  3. Traversa ogni riga nella colonna.
  4. Raccogli i valori della colonna in un elenco.
# Importa la libreria Aspose.Cells
from aspose.cells import Workbook

# Passo 1: Carica il file Excel dal documento
book = Workbook("sample_data.xlsx")

# Accedi al primo foglio di lavoro nel documento di lavoro
sheet = book.worksheets.get(0)

# Step 2: Definire l'indice della colonna (0 = prima colonna, cioè Colonna A)
col_index = 0
cells = sheet.cells

# Crea un oggetto range per la colonna selezionata
# Parametri: (startrow, startcolumn, totalrows, totalcolumns)
# Qui, inizia alla riga 0, seleziona colindex, includi tutte le righe e larghezza = 1 colonna.
col_range = cells.create_range(0, col_index, sheet.cells.max_row + 1, 1)

# Passo 3 e 4: Converti la colonna in un elenco 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)

# Stampa la colonna estratta come un elenco
print("Column to List:", col_list)

Output:

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

Ottieni una Licenza Gratuita

Valuta Aspose.Cells for Python tramite .NET senza limiti. Richiedi una licenza temporanea gratuita dalla license page.Applicala nel tuo codice per rimuovere le restrizioni di valutazione. Testa ogni funzione, inclusi DF in Excel, grafici, formule e file di grandi dimensioni.

Excel to List: Risorse gratuite

Utilizza le seguenti risorse per approfondire le tue conoscenze, rafforzare la tua comprensione e ottenere spunti pratici che possono aiutarti ad applicare ciò che impari in modo più efficace.

Conclusione

Abbiamo dimostrato come convertire i dati di Excel in liste Python estraendo intervalli, righe e colonne con Aspose.Cells for Python tramite .NET. Una volta in forma di lista, i dati possono essere utilizzati per Pandas, JSON o altre attività di elaborazione. Sebbene librerie come openpyxl o pandas.readexcel possano estrarre intervalli, Aspose.Cells offre un maggiore controllo su formule, formattazione, grafici e celle unite, rendendolo la scelta migliore per operazioni Excel complesse.

Se hai bisogno di aiuto o hai domande, non esitare a contattarci sul nostro Aspose.Cells Free Support Forum.Il nostro team sarà felice di assisterti.

See Also