Pliki Excel pozostają jednym z najpopularniejszych formatów do zarządzania danymi strukturalnymi. W Python, DataFrame pandas jest preferowaną strukturą do efektywnego organizowania i analizowania tych danych. Po przekształceniu w DataFrame, dane z Excela mogą być bezproblemowo łączone z bazami danych, API lub modelami uczenia maszynowego w celu głębszej analizy i wglądu. W tym artykule, zbadamy praktyczne sposoby konwersji Excela na DataFrames pandas z wyraźnymi przykładami, aby pomóc Ci rozpocząć.

What is a Pandas DataFrame?

DataFrame to struktura danych 2D dostarczona przez bibliotekę pandas. Wygląda podobnie do arkusza kalkulacyjnego Excel z wierszami i kolumnami. Każda kolumna może przechowywać różne typy danych, takie jak ciągi, liczby całkowite lub liczby zmiennoprzecinkowe.

DataFrames są idealne do:

  • Importowanie i czyszczenie danych.
  • Wykonywanie operacji matematycznych.
  • Filtrowanie, grupowanie i agregowanie danych.
  • Eksportowanie wyników do programu Excel, CSV lub baz danych.

Kiedy konwertujesz pliki Excel na DataFrame’y, możesz od razu zastosować potężne operacje pandas do analizy.

Biblioteka Python do konwersji Excela na DataFrame Pandas

Aspose.Cells for Python via .NET często jest uważana za najlepszą bibliotekę Python Excel dla programistów, którzy potrzebują więcej niż podstawowego zarządzania arkuszami kalkulacyjnymi. Umożliwia tworzenie, odczyt, edycję i konwersję plików Excela programowo, bez instalowania programu Microsoft Excel.

Dla konwersji DataFrame ta biblioteka błyszczy, ponieważ w pełni obsługuje zaawansowane funkcje Excela, takie jak formuły, scalone komórki, wykresy, tabele przestawne i formatowanie warunkowe. Działa z wieloma formatami, w tym XLS, XLSX, XLSB, ODS, CSV i JSON.

Kiedy używasz Aspose.Cells, aby przenieść dane z Excela do pandas, otrzymujesz płynne przekształcenie na DataFrames z wysoką wiernością. Oznacza to, że struktura, formatowanie i wartości z Excela pozostają dokładne, podczas gdy pandas daje ci narzędzia do analizy i przekształcania tych danych w sposób efektywny.

Convert Excel to Pandas DataFrame

Możesz utworzyć nowy arkusz kalkulacyjny, generować dane programowo i konwertować Excel na DataFrame pandas w Python. To daje ci pełną kontrolę nad strukturą pliku, jednocześnie przygotowując go do natychmiastowej analizy w pandas.

Postępuj zgodnie z poniższymi krokami, aby przekształcić Excel na DataFrame Pandas:

  1. Utwórz instancję klasy Workbook.
  2. Uzyskaj dostęp do pierwszego arkusza i jego komórek.
  3. Dodaj wartości do komórek arkusza kalkulacyjnego.
  4. Extract rows and headers.
  5. Przekształć wyodrębnione dane w ramkę danych pandas.

Poniższy przykład kodu w Python pokazuje, jak przekonwertować Excel na DataFrame pandas:

import pandas as pd
from aspose.cells import Workbook

# Krok 1: Utwórz nowy skoroszyt Excel przy użyciu Aspose.Cells
wb = Workbook()

# Krok 2: Uzyskaj dostęp do pierwszego arkusza kalkulacyjnego
ws = wb.worksheets.get(0)

# Krok 3: Uzyskaj dostęp do kolekcji komórek arkusza kalkulacyjnego
c = ws.cells

# Krok 4: Dodaj przykładowe dane do arkusza kalkulacyjnego
c.get("A1").value, c.get("B1").value, c.get("C1").value = "Name", "Age", "City"
c.get("A2").value, c.get("B2").value, c.get("C2").value = "Alice", 25, "New York"
c.get("A3").value, c.get("B3").value, c.get("C3").value = "Bob", 30, "San Francisco"
c.get("A4").value, c.get("B4").value, c.get("C4").value = "Charlie", 35, "Los Angeles"

# Krok 5: Pobierz nagłówek z pierwszego wiersza danych
header_idx = c.min_data_row
columns = [cell.value for cell in c.rows[header_idx]]

# Krok 6: Zbierz pozostałe wiersze jako dane
data = [
    [cell.value for cell in row]
   for idx, row in enumerate(c.rows)
    if row and idx != header_idx
]

# Krok 7: Zbuduj DataFrame za jednym razem
df = pd.DataFrame(data, columns=columns)
print(df)

Output

      Name  Age           City
0    Alice   25       New York
1      Bob   30  San Francisco
2  Charlie   35    Los Angeles

Konwertuj istniejący plik Excel na DataFrame Pandas

Jeśli już masz plik Excel, możesz go załadować i przekształcić Excel na DataFrame pandas w Python bezpośrednio. Umożliwia to zachowanie oryginalnej struktury arkusza podczas bardziej efektywnej pracy z danymi w pandas.

Postępuj zgodnie z poniższymi krokami, aby załadować i przekonwertować istniejący plik Excel na DataFrame Pandas:

  1. Otwórz istniejący plik Excel za pomocą klasy Workbook.
  2. Wybierz arkusz roboczy według nazwy lub indeksu.
  3. Przeczytaj wszystkie wiersze i kolumny.
  4. Extract headers if available.
  5. Convert the result into a pandas DataFrame.

Następujący kod w Python pokazuje, jak przekształcić istniejący plik Excel na DataFrame w bibliotece pandas:

import pandas as pd
from aspose.cells import Workbook

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

# Krok 2: Wybierz arkusz kalkulacyjny (według indeksu lub według nazwy)
worksheet = workbook.worksheets.get("Sheet1")  # or workbook.worksheets[0]

# Krok 3: Pobierz kolekcję komórek z arkusza kalkulacyjnego
cells = worksheet.cells

# Krok 4: Oblicz liczbę kolumn (różnica indeksu od 0)
col_count = cells.max_data_column - cells.min_data_column

# Krok 5: Utwórz listę do przechowywania danych wiersza
output_data = []

# Krok 6: Znajdź indeks pierwszego wiersza, który zawiera dane
first_data_row_index = cells.min_data_row

# Krok 7: Iteruj przez wszystkie wiersze w arkuszu
for row in cells.rows:
    if row is None:
        continue  # Skip uninitialized rows

    # Zbierz wszystkie wartości komórek dla bieżącego wiersza
    row_data = [cell.value for cell in row]
    output_data.append(row_data)

# Krok 8: Przygotuj nagłówki kolumn
columns = []
if True:  # Use header row
    row = cells.rows[first_data_row_index]
   for cell in row:
        columns.append(cell.value)
    # Usuń wiersz nagłówka z danych
    output_data = output_data[1:]
else:
    # Jeśli nie ma nagłówka, przypisz domyślne nazwy kolumn.
    columns = [f"Unnamed: {i}" for i in range(col_count + 1)]

# Krok 9: Przekształć dane w obiekt DataFrame pandas
df = pd.DataFrame(output_data, columns=columns)

# Krok 10: Wydrukuj DataFrame
print(df)
Convert an Existing Excel File to a Pandas DataFrame

Przykładowy plik Excel do konwersji na DataFrame Pandas.

Output

   Product A  Product B Period
0         50        160     Q1
1        100         32     Q2
2        170         50     Q3
3        300         40     Q4

Konwertuj Excel na Pandas za pomocą JSON

Eksportuj swój zakres Excela do JSON za pomocą JsonUtility.exportrangetojson, a następnie załaduj go do Pandas. Zobacz szczegółowy przewodnik: Convert Excel to Pandas DataFrame via JSON.

Konwertuj Excel na Pandas przez CSV

Przekształć swój plik Excel do formatu CSV, a następnie załaduj go do Pandas. Postępuj zgodnie z przewodnikiem krok po kroku: Convert Excel to Pandas DataFrame via CSV.

Uzyskaj darmową licencję

Możesz wypróbować wszystkie funkcje Aspose.Cells for Python za pośrednictwem .NET bez ograniczeń, stosując darmową tymczasową licencję. Proszę odwiedzić stronę license page i uzyskać darmową licencję. Umożliwia to ocenę pełnego API, w tym zaawansowanych konwersji Excel na DataFrame.

Dodatkowe darmowe zasoby

Zbadaj więcej sposobów pracy z plikami Excel w Python za pomocą tych zasobów, które pomogą Ci wyjść poza podstawowe konwersje i skutecznie zastosować Aspose.Cells w rzeczywistych projektach.

Wnioski

Konwertowanie plików Excel na DataFrame’y pandas staje się proste i niezawodne dzięki Aspose.Cells for Python przez .NET. Niezależnie od tego, czy tworzysz nowe arkusze kalkulacyjne, czy importujesz istniejące, biblioteka zapewnia wysoką wierność transferu danych i pełne wsparcie dla formatów. Łącząc elastyczność pandas z zaawansowanym przetwarzaniem Excela przez Aspose.Cells, możesz uprościć przetwarzanie danych i odblokować potężną analizę w Python.

Jeśli masz jakiekolwiek pytania, odwiedź nasze free support forum, a nasz zespół chętnie Ci pomoże.

See Also