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:
- Zainstaluj Python 3.7+.
- Ściągnij Aspose.Cells z wydań lub zainstaluj za pomocą pip:
pip install aspose-cells-python
- Przygotuj przykładowy plik Excel (
sampledata.xlsx) z następującą zawartością:

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:
- Najpierw załaduj istniejący plik Excel za pomocą klasy
Workbook. - Drugie, pobierz pierwszy arkusz kalkulacyjny.
- Następnie utwórz zakres, np. A1 do C4.
- Po tym przekształć Range na listę Python.
- 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:
- Załaduj skoroszyt Excel.
- Uzyskaj dostęp do docelowego arkusza.
- Wybierz wiersz według indeksu.
- 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ę:
- Załaduj skoroszyt i arkusz.
- Wybierz kolumnę według indeksu.
- Przechodź przez każdy wiersz w kolumnie.
- 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.
- Aspose.Cells Oficjalna Dokumentacja
- API Reference
- Darmowe narzędzia Excel online
- Poradniki i przewodniki dla programistów
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.
