Praca z danymi Excel w Python często wymaga wyodrębnienia konkretnych wierszy i kolumn do formatu listy. Konwersja zakresu Excel na listę Python jest niezwykle przydatna do takich zadań jak:

  • Analiza danych z Pandas i NumPy
  • Automatyzacja raportowania i procesów ETL
  • Integracja z modelami uczenia maszynowego lub API

W tym artykule nauczymy się, jak krok po kroku przekształcić zdefiniowany zakres Excela w listę w Python.

Biblioteka konwertera Excel do listy w Python

Zamiast ręcznie analizować pliki Excel, deweloperzy mogą używać Aspose.Cells for Python za pośrednictwem .NET, potężnej biblioteki konwertera Excel do listy. Ułatwia to nie tylko wyodrębnianie zakresów, wierszy i kolumn do list Python, ale także wspiera zaawansowane funkcje, takie jak formuły, formatowanie, wykresy i tabele przestawne, zapewniając dokładność nawet w przypadku złożonych arkuszy kalkulacyjnych.

Zanim przystąpisz do kodowania, upewnij się, że Twoje środowisko jest gotowe:

  1. Zainstaluj Python 3.7+.
  2. Ściągnij Aspose.Cells z wydań lub zainstaluj za pomocą pip:
pip install aspose-cells-python
  1. Przygotuj przykładowy plik Excel (sampledata.xlsx) z następującą zawartością:
Konwersja Excela na listę w Python: Przykładowy plik danych

Przykładowy plik danych Excel.

Konwersja zakresu Excel do listy Python: Przewodnik krok po kroku

Przejdźmy przez proces konwertowania zakresu danych Excel na listę Python przy użyciu Aspose.Cells for Python.

Postępuj zgodnie z poniższymi krokami, aby przekonwertować zakres Excela na listę w Python:

  1. Najpierw załaduj istniejący plik Excel za pomocą klasy Workbook.
  2. Drugie, pobierz pierwszy arkusz kalkulacyjny.
  3. Następnie utwórz zakres, np. A1 do C4.
  4. Po tym przekształć Range na listę Python.
  5. Finally, print the list.

Następujący skrypt Python ładuje plik Excel, definiuje zakres i konwertuje go na listę Python.

from aspose.cells import Workbook

# Krok 1: Załaduj skoroszyt Excel
book = cells.Workbook("sample_data.xlsx")

# Krok 2: Uzyskaj dostęp do pierwszego arkusza roboczego
sheet1 = book.worksheets.get(0)

# Krok 3: Zdefiniuj zakres (A1:C4 w tym przykładzie)
sheet_cells = sheet1.cells
range_obj = sheet_cells.create_range("A1", "C4")

# Krok 4: Przekształć zakres w zagnieżdżoną listę Python
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)

# Krok 5: Wydrukuj listę 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]]

Ten pełny skrypt pokazuje, jak wyodrębnić dane z Excela i przekształcić je w listę Python. Po tym, może być łatwo przekształcony w Pandas lub JSON w zależności od Twoich wymagań.

Konwertuj listę Python na DataFrame Pandas

Z Pandas możesz bezpośrednio przekształcić listę w 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

Zapisz listę Python jako JSON

Możesz również wyeksportować dane jako 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]]

Convert Excel Row to List in Python

Czasami może być konieczne wyodrębnienie tylko jednego wiersza z Excela i zapisanie go jako listy. Oto jak to zrobić z Aspose.Cells:

  1. Załaduj skoroszyt Excel.
  2. Uzyskaj dostęp do docelowego arkusza.
  3. Wybierz wiersz według indeksu.
  4. Zbierz wartości wierszy do listy Python.
# Importuj bibliotekę Aspose.Cells
from aspose.cells import Workbook

# Krok 1: Załaduj skoroszyt Excela z pliku
book = Workbook("sample_data.xlsx")

# Krok 2: Uzyskaj dostęp do pierwszego arkusza kalkulacyjnego w skoroszycie
sheet = book.worksheets.get(0)

# Krok 3: Zdefiniuj indeks wiersza (0 = pierwszy wiersz, który zawiera nagłówki)
row_index = 0
cells = sheet.cells

# Utwórz obiekt zakresu dla wybranego wiersza
row_range = cells.create_range(row_index, 0, 1, sheet.cells.max_column + 1)

# Krok 4: Przekształć wiersz w listę 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

# Drukuj wyodrębniony wiersz jako listę
print("Row to List:", row_list)

Output:

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

Convert Excel Column to List in Python

Możesz także wyodrębnić pojedynczą kolumnę do listy. Na przykład, przekształćmy kolumnę Region w listę:

  1. Załaduj skoroszyt i arkusz.
  2. Wybierz kolumnę według indeksu.
  3. Przechodź przez każdy wiersz w kolumnie.
  4. Zbierz wartości kolumny do listy.
# Importuj bibliotekę Aspose.Cells
from aspose.cells import Workbook

# Krok 1: Załaduj skoroszyt Excel z pliku
book = Workbook("sample_data.xlsx")

# Uzyskaj dostęp do pierwszego arkusza roboczego w skoroszycie
sheet = book.worksheets.get(0)

# Krok 2: Zdefiniuj indeks kolumny (0 = pierwsza kolumna, tzn. Kolumna A)
col_index = 0
cells = sheet.cells

# Utwórz obiekt zakresu dla wybranej kolumny
# Parametry: (startrow, startcolumn, totalrows, totalcolumns)
# Tutaj rozpocznij od wiersza 0, wybierz colindex, obejmij wszystkie wiersze, a szerokość = 1 kolumna.
col_range = cells.create_range(0, col_index, sheet.cells.max_row + 1, 1)

# Krok 3 i 4: Przekształć kolumnę w listę 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)

# Drukuj wyodrębnioną kolumnę jako listę
print("Column to List:", col_list)

Output:

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

Zdobądź darmową licencję

Oceń Aspose.Cells for Python za pośrednictwem .NET bez ograniczeń. Zamów bezpłatną tymczasową licencję na stronie license page.Zastosuj ją w swoim kodzie, aby usunąć ograniczenia oceny. Testuj każdą funkcję, w tym DF do Excela, wykresy, formuły i duże pliki.

Excel do Listy: Darmowe Zasoby

Wykorzystaj następujące zasoby, aby pogłębić swoją wiedzę, wzmocnić swoje zrozumienie i zdobyć praktyczne spostrzeżenia, które mogą pomóc Ci skuteczniej zastosować to, czego się uczysz.

Wnioski

Pokazaliśmy, jak przekształcić dane z Excela na listy w Python, wyodrębniając zakresy, wiersze i kolumny za pomocą Aspose.Cells for Python przez .NET. Gdy dane są w formie listy, mogą być używane do Pandas, JSON lub innych zadań przetwarzania. Chociaż biblioteki takie jak openpyxl lub pandas.readexcel mogą wyodrębniać zakresy, Aspose.Cells zapewnia większą kontrolę nad formułami, formatowaniem, wykresami i scalonymi komórkami, co czyni ją lepszym wyborem dla skomplikowanych operacji w Excelu.

Jeśli potrzebujesz pomocy lub masz jakiekolwiek pytania, śmiało skontaktuj się z nami na naszym Aspose.Cells Free Support Forum.Nasz zespół chętnie Ci pomoże.

Zobacz także