Alternatywy dla Pandas Read Excel (bez używania Interop) | IronXL dla Python
Pliki Excel są powszechnie stosowane w zadaniach związanych z analizą i przetwarzaniem danych, oferując wygodny sposób przechowywania i organizowania danych tabelarycznych. W języku Python dostępnych jest wiele bibliotek do odczytu plików Excel, z których każda posiada własny zestaw funkcji i możliwości. Dwie popularne opcje to Pandas i IronXL, które oferują wydajne metody odczytu plików Excel w języku Python.
W tym artykułe porównamy funkcjonalność i wydajność bibliotek Pandas i IronXL w zakresie odczytu plików Excel w języku Python.
Pandas – biblioteka open source
Pandas to potężna biblioteka open source do analizy i przetwarzania danych dla języka Python. Wprowadza strukturę danych DataFrame, która jest dwuwymiarową, opatrzoną etykietami strukturą danych z kolumnami o potencjalnie różnych typach. Pandas oferuje szeroki zakres funkcji do manipulacji danymi, w tym odczyt i zapis danych z różnych źródeł, takich jak pliki CSV, bazy danych SQL i pliki Excel.
Niektóre kluczowe funkcje biblioteki Pandas to:
DataFrame
Pandas wprowadza strukturę danych DataFrame, która jest zasadniczo dwuwymiarową strukturą danych z etykietami, zawierającą kolumny o potencjalnie różnych typach. Jest ona podobna do arkusza kalkulacyjnego lub tabeli SQL, co ułatwia wykonywanie operacji takich jak filtrowanie, grupowanie i agregacja danych tabelarycznych.
Manipulacja danymi
Pandas oferuje szeroki zakres funkcji do manipulacji danymi, w tym scałanie, przekształcanie, wycinanie, indeksowanie i przekształcanie danych w tabelę krzyżową. Operacje te pozwalają użytkownikom na wydajne czyszczenie, przekształcanie i przygotowywanie danych do analizy lub wizualizacji.
Funkcjonalność szeregów czasowych
Pandas zapewnia solidne wsparcie dla pracy z danymi szeregów czasowych, w tym narzędzia do indeksowania i ponownego próbkowania daty/czasu oraz wygodne metody obsługi brakujących danych i konwersji stref czasowych.
Integracja z bibliotekami
Pandas może płynnie współpracować z różnymi bibliotekami Pythona często wykorzystywanymi w analizie danych i obliczeniach naukowych, w tym NumPy, Matplotlib i Scikit-learn. Ta interoperacyjność pozwala użytkownikom wykorzystać zalety różnych bibliotek w ramach jednego procesu analizy.
Ogólnie rzecz biorąc, Pandas to potężne narzędzie do manipulacji danymi i analizy w języku Python, szeroko stosowane w różnych dziedzinach, w tym w finansach, ekonomii, biologii i naukach społecznych.
IronXL – biblioteka IronXL dla programu Excel
Biblioteka IronXL języka Python zaprojektowana specjalnie do pracy z plikami Excel. Zapewnia intuicyjny interfejs API do odczytu, zapisu i manipulacji dokumentami Excel w języku Python. IronXL ma na celu uproszczenie operacji na plikach Excel poprzez oferowanie prostego interfejsu i wyeliminowanie konieczności korzystania z zewnętrznych zależności, takich jak Microsoft Excel lub Excel Interop.
Poniżej wymieniono niektóre kluczowe funkcje IronXL:
Intuicyjny interfejs API Python 3+ do obsługi dokumentów Excel
IronXL oferuje intuicyjny i łatwy w użyciu interfejs API do obsługi dokumentów Excel w języku Python 3+, umożliwiający programistom płynne odczytywanie, edytowanie i tworzenie plików arkuszy kalkulacyjnych Excel.
Obsługa wielu platform
Zaprojektowany dla Python 3+ i kompatybilny z systemami Windows, Mac, Linux oraz platformami chmurowymi, IronXL zapewnia elastyczność w środowiskach wdrożeniowych.
Nie ma potrzeby korzystania z Microsoft Office ani Excel Interop
Programiści mogą pracować z plikami Excel w języku Python bez instalowania pakietu Microsoft Office lub korzystania z interfejsu Excel Interop, co upraszcza proces integracji i minimalizuje zależności.
Kompatybilność
Obsługuje Python 3.7+ na różnych systemach operacyjnych, w tym Microsoft Windows, macOS, Linux, Docker, Azure i AWS. Kompatybilny z popularnymi środowiskami IDE, takimi jak JetBrains PyCharm i inne środowiska IDE dla języka Python.
Obsługa wszechstronnych skoroszytów
Twórz, wczytaj, zapisuj i eksportuj arkusze kalkulacyjne w różnych formatach, w tym XLS, XLSX, XSLT, XLSM, CSV, TSV, JSON, HTML, Binary i Byte Array.
Zaawansowana edycja arkuszy kalkulacyjnych
Edytuj metadane, ustaw uprawnienia i hasła, twórz i usuwaj arkusze, zmieniaj układ arkusza, zarządzaj obrazami i nie tylko.
Zaawansowane operacje na zakresach komórek
Wykonuj różne operacje na zakresach komórek, takie jak sortowanie, przycinanie, czyszczenie, kopiowanie, wyszukiwanie i zamiana wartości, ustawianie hiperłączy oraz scałanie i rozdzielanie komórek.
Elastyczne stylizowanie komórek
Dostosuj style komórek, w tym czcionkę, rozmiar, obramowanie, wyrównanie i wzór tła, oraz zastosuj formatowanie warunkówe.
Funkcje matematyczne i formaty danych
Wykorzystaj funkcje matematyczne, takie jak średnia, suma, min i max, oraz ustaw formaty danych komórek, w tym formaty tekstowe, liczbowe, formuł, daty, waluty, naukowe, czasu, logiczne i niestandardowe.
Tworzenie projektu w języku Python przy użyciu PyCharm
Przede wszystkim na komputerze musi być zainstalowany Python. Zainstaluj najnowszą wersję Pythona 3.x z oficjalnej strony Pythona. Podczas instalacji Pythona należy wybrać opcję dodania Pythona do ścieżki systemówej PATH, co umożliwi dostęp z wiersza poleceń.
Aby zademonstrować funkcjonalność zarówno Pandas, jak i IronXL w odczytywaniu plików Excel, stwórzmy projekt w języku Python przy użyciu PyCharm, popularnego zintegrowanego środowiska programistycznego (IDE) dla języka Python.
-
Otwórz PyCharm i utwórz nowy projekt w języku Python.

-
Skonfiguruj projekt w następujący sposób:
- Nadaj projektowi nazwę. W tym przypadku "pythonReadExcel"
- Wybierz lokalizację projektu
- Wybierz typ interpretera: Środowisko projektowe venv
- Wybierz wersję języka Python

- Kliknij "Utwórz", aby utworzyć projekt.
Zainstaluj Pandas i IronXL za pomocą pip
Instalacja Pandas
Aby zainstalować Pandas w swoim projekcie, wykonaj następujące kroki:
-
Otwórz wiersz poleceń lub terminal: w PyCharm, wybierz Widok->Okna narzędzi->Terminal.

-
Zainstaluj Pandas za pomocą pip: Pandas można zainstalować za pomocą menedżera pakietów pip. Uruchom następujące polecenie w terminalu:
pip install pandaspip install pandasSHELLTo polecenie instaluje bibliotekę Pandas i jej zależności z Python Package Index (PyPI).

-
Zainstaluj OpenPyXL za pomocą pip: OpenPyXL to biblioteka, która pomaga odczytywać i zapisywać pliki Excel. Jest to jedna z bibliotek wykorzystywanych przez Pandas. Podczas instalacji Pandas, jeśli OpenPyXL nie jest jeszcze zainstalowany, zostanie on zainstalowany automatycznie. Jeśli z jakiegoś powodu nie jest zainstalowany, można go zainstalować za pomocą następującego polecenia w terminalu:
pip install openpyxlpip install openpyxlSHELL
Instalacja IronXL
Aby zainstalować IronXL w projekcie Python, wykonaj następujące kroki:
-
Sprawdź wymagania: Przed instalacją IronXL upewnij się, że masz zainstalowane niezbędne wymagania w swoim systemie.
.NET 6.0 SDK: IronXL opiera się na bibliotece IronXL .NET, a konkretnie na .NET 6.0, jako swojej technologii bazowej. Upewnij się, że masz zainstalowany pakiet .NET 6.0 SDK na swoim komputerze. Możesz go pobrać z oficjalnej strony .NET.
- Otwórz wiersz poleceń lub terminal: Postępuj tak samo jak poprzednio.
-
Zainstaluj IronXL za pomocą pip: IronXL można zainstalować za pomocą menedżera pakietów pip. Uruchom następujące polecenie:
:ProductInstall W``` This command will collect, download, and install the IronXL library and its dependencies from the Python Package Index (PyPI). :ProductInstall W``` This command will collect, download, and install the IronXL library and its dependencies from the Python Package Index (PyPI). SHELL
Reading Excel Files using Pandas and IronXL
As we have set up everything, we'll move on to reading Excel files using both libraries. The demo Excel file that we are going to read has the following values with header rows as Name, Marks, and Res:

Using Pandas
Step 1
Import the Pandas library and use the read_excel() function to read column data from the Excel file.
import pandas as pd
# Read the Excel file
df = pd.read_excel("file.xlsx")
import pandas as pd
# Read the Excel file
df = pd.read_excel("file.xlsx")
Korzystając z funkcji read_excel() biblioteki Pandas, można określić kilka opcji wyświetlania zgodnie z wymaganiami:
- nagłówek: Określa, który wiersz w pliku Excel ma służyć jako nazwy kolumn. Można ustawić opcję None, aby wskazać, że nie ma wiersza nagłówkowego, lub podać liczbę całkowitą wskazującą numer wiersza. Jeśli opcja ta zostanie pominięta, nagłówki są domyślnie ustawione na True, a pozycje pierwszego wiersza są wyświetlane jako etykiety wiersza nagłówkowego.
-
index_col: Określa, która kolumna lub kolumny mają być używane jako indeks DataFrame. Można przekazać pojedynczą nazwę kolumny lub indeks kolumny, albo listę nazw kolumn lub indeksów kolumn, aby utworzyć MultiIndex.
- sheet_name: Określa arkusz(e) do odczytania z pliku Excel. Nazwę arkusza można podać jako ciąg znaków lub liczbę całkowitą wskazującą pozycje arkuszy indeksowane od zera.
- usecols: Określa, które kolumny mają być odczytane z pliku Excel. Można podać nazwę pojedynczej kolumny lub indeks kolumny, albo listę nazw lub indeksów kolumn, aby odczytać konkretne kolumny.
- dtype: Określa typy danych dla kolumn. Można przekazać słownik, w którym klucze to nazwy kolumn lub indeksy kolumn, a wartości to żądane typy danych.
-
konwertery: Określają funkcje, które mają być zastosowane do kolumn w celu niestandardowego parsowania. Można przekazać słownik, w którym klucze są nazwami lub indeksami kolumn, a wartościami są funkcje.
- na_values: Określa dodatkowe ciągi znaków, które mają być rozpoznawane jako wartości NaN (Not a Number). Można przekazać listę ciągów znaków, które mają być traktowane jako NaN.
- parse_dates: Określa, które kolumny mają być analizowane jako daty. Można przekazać pojedynczą nazwę kolumny lub indeks kolumny, albo listę nazw kolumn lub indeksów do analizy jako daty.
- date_parser: Określa funkcję używaną do analizowania dat. Można przekazać funkcję, która przyjmuje ciąg znaków i zwraca obiekt typu datetime.
- skiprows: Określa liczbę wierszy, które mają zostać pominięte na początku pliku Excel.
Opcje te zapewniają elastyczność podczas odczytu plików Excel za pomocą Pandas, umożliwiając dostosowanie procesu odczytu do konkretnych wymagań.
Krok 2
Wyświetl zawartość DataFrame.
print(df)
print(df)
Oto wynik działania powyższego kodu:

Korzystanie z IronXL
Krok 1: Zaimportuj bibliotekę IronXL i użyj metody WorkBook.Load(), aby załadować plik Excel. W parametrze metody Load możesz przekazać prawidłowy adres URL pliku, obiekt ścieżki do pliku lokalnego lub nazwę pliku, jeśli znajduje się on w tym samym katalogu co skrypt.
from ironxl import WorkBook
# Load the Excel file as a WorkBook object
workbook = WorkBook.Load("file.xlsx")
from ironxl import WorkBook
# Load the Excel file as a WorkBook object
workbook = WorkBook.Load("file.xlsx")
Krok 2: Dzięki IronXL możesz uzyskać dostęp do wielu arkuszy i drukować etykiety kolumn. Uzyskaj dostęp do arkuszy i komórek, aby odczytać dane przechowywane w kolumnach. Komórki mogą mieć dowolny typ danych, np. kolumny numeryczne lub kolumny tekstowe. Wartości komórek można przekonwertować na int poprzez parsowanie kolumn tekstowych na wartości liczbowe przy użyciu właściwości IntValue i odwrotnie.
# Access the first worksheet
worksheet = workbook.DefaultWorkSheet
# Select a specific cell and return the converted value
cell_value = worksheet["A2"].IntValue
print(cell_value)
# Read from the entire worksheet and print each cell's address and value
for cell in worksheet:
print(f"Cell {cell.AddressString} has value '{cell.Text}'")
# Access the first worksheet
worksheet = workbook.DefaultWorkSheet
# Select a specific cell and return the converted value
cell_value = worksheet["A2"].IntValue
print(cell_value)
# Read from the entire worksheet and print each cell's address and value
for cell in worksheet:
print(f"Cell {cell.AddressString} has value '{cell.Text}'")
Oto wynik powyższego kodu w odpowiednim formacie wyświetlania, pokazujący wszechstronność IronXL:

Aby uzyskać więcej informacji na temat pracy z plikami Excel, odwiedź tę stronę z przykładami kodu.
Wnioski
Podsumowując, zarówno Pandas, jak i IronXL oferują wydajne metody odczytu plików Excel w języku Python. Jednak IronXL ma kilka zalet w porównaniu z Pandas, zwłaszcza jeśli chodzi o łatwość użycia, wydajność i specjalistyczne możliwości obsługi Excela. Intuicyjny interfejs API i wszechstronne funkcje IronXL sprawiają, że jest to doskonały wybór do projektów wymagających rozbudowanych zadań związanych z obsługą arkuszy kalkulacyjnych Excel.
Ponadto IronXL eliminuje potrzebę korzystania z zewnętrznych zależności, takich jak Microsoft Excel lub Excel Interop, upraszczając proces tworzenia oprogramowania i zwiększając przenośność między różnymi platformami. Dlatego dla programistów Pythona poszukujących solidnego i wydajnego rozwiązania do operacji na plikach Excel, IronXL jawi się jako preferowany wybór, oferując lepsze możliwości i ulepszone funkcje w porównaniu z Pandas. Aby uzyskać bardziej szczegółowe informacje na temat IronXL, odwiedź tę stronę dokumentacji.
IronXL oferuje bezpłatną wersję próbną, która pozwala przetestować jego funkcjonalność i przydatność w projektach Python. Ta wersja próbna pozwala programistom zapoznać się z pełnym zakresem funkcji i możliwości oferowanych przez IronXL bez konieczności ponoszenia z góry żadnych kosztów. Niezależnie od tego, czy rozważasz wykorzystanie IronXL do zadań związanych z importem/eksportem danych, generowaniem raportów czy analizą danych, bezpłatna wersja próbna daje możliwość oceny jego wydajności i przydatności do Twoich konkretnych wymagań.
Aby uzyskać więcej informacji na temat opcji licencyjnych i pobrać bezpłatną wersję próbną, odwiedź stronę licencyjną serwisu IronXL. Tutaj znajdziesz szczegółowe informacje na temat warunków licencji, w tym opcji użytkowania komercyjnego i wsparcia technicznego. Aby rozpocząć pracę z IronXL i osobiście przekonać się o jego zaletach, pobierz bibliotekę IronXL stąd.
Często Zadawane Pytania
Jak mogę odczytać pliki Excel w Pythonie bez użycia Interop?
Możesz użyć IronXL, biblioteki Pythona zaprojektowanej do pracy z plikami Excel, która nie wymaga Microsoft Office ani Interop Excela. Oferuje ona intuicyjne API do bezproblemowej manipulacji plikami Excel.
Co sprawia, że IronXL jest lepszym wyborem dla zadań specyficznych dla Excela w porównaniu do Pandas?
IronXL oferuje wyspecjalizowane API, które upraszcza operacje na plikach Excel bez zewnętrznych zależności. Obsługuje różne formaty Excela, zaawansowaną manipulację arkuszami i operacje na komórkach, co czyni go lepszym dla specyficznych zadań związanych z Excelem.
Czy mogę manipulować plikami Excel na różnych systemach operacyjnych za pomocą IronXL?
Tak, IronXL jest kompatybilny z Pythonem 3.7+ i obsługuje platformy takie jak Windows, macOS, Linux, Docker, Azure i AWS, oferując funkcjonalność międzyplatformową dla manipulacji plikami Excel.
Jak zainstalować IronXL w projekcie Pythona?
Najpierw upewnij się, że masz zainstalowane .NET 6.0 SDK. Następnie użyj pip do zainstalowania IronXL, uruchamiając polecenie: pip install ironxl w terminalu.
Jakie formaty plików Excel obsługuje IronXL?
IronXL wspiera szeroki zakres formatów plików Excela, w tym XLS, XLSX, XSLT, XLSM, CSV, TSV, JSON, HTML, Binary i Byte Array.
Czy dostępna jest bezpłatna wersja próbna IronXL?
Tak, IronXL oferuje bezpłatny okres próbny dla deweloperów, aby przetestować jego funkcjonalność. Więcej informacji o wersji próbnej i opcjach licencyjnych znajdziesz na stronie IronXL.
Jak IronXL poprawia wydajność odczytu plików Excel w Pythonie?
IronXL dostarcza zoptymalizowane API do efektywnego odczytu i manipulacji plikami Excel, oferując lepszą wydajność dla zadań specyficznych dla Excela w porównaniu do ogólnych bibliotek do analizy danych, jak Pandas.
Jak odczytać pliki Excel używając IronXL w Pythonie?
Możesz odczytać pliki Excel w Pythonie, korzystając z prostych metod IronXL. Wystarczy użyć funkcji biblioteki, aby wczytać i manipulować danymi Excela według potrzeb.
Dlaczego wybrać IronXL do projektów Pythona związanych z szeroką manipulacją Excela?
IronXL jest polecany ze względu na łatwość użycia, wydajność i kompleksowe funkcje, takie jak elastyczne formatowanie komórek i funkcje matematyczne, co czyni go idealnym dla projektów wymagających szerokiej manipulacji Excela.
Jakie są alternatywy dla Pandas w zakresie odczytu plików Excel w Pythonie?
IronXL jest silną alternatywą dla Pandas do odczytu plików Excel w Pythonie, oferującą specyficzne funkcje do manipulacji Excelem bez potrzeby posiadania Microsoft Office czy zewnętrznych zależności.




