
Jak czytać pliki Excel w Python
Praca z plikami Excel jest powszechnym wymogiem w zadaniach związanych z analizą danych i automatyzacją. Python, dzięki bogatemu zestawowi bibliotek, oferuje różne sposoby interakcji z plikami XLSX. W tym samouczku dowiemy się, jak odczytywać pliki Excel za pomocą biblioteki IronXL, która umożliwia obsługę Excela w języku Python.
IronXL: biblioteka Python dla programu Excel
IronXL dla Python został zaprojektowany, aby pomóc programistom w łatwym odczytywaniu i zapisywaniu plików Excel w języku Python. Możesz nie tylko tworzyć pliki Excel, ale także pracować z wieloma arkuszami Excel jednocześnie. Ta biblioteka jest idealna do tworzenia plików Excel bez konieczności instalowania programu Microsoft Excel na komputerze.
Gdy potrzebujesz zaimportować dane bezpośrednio do arkusza kalkulacyjnego Excel, z pomocą przychodzi IronXL. IronXL ułatwia obsługę arkuszy kalkulacyjnych Excel. Ułatwia zarządzanie danymi w wielu arkuszach w pliku XLSX.
Zobaczmy, jak odczytywać pliki Excel w języku Python przy użyciu IronXL.
Jak odczytywać pliki Excel w języku Python
Poniższe kroki opisują proces odczytu plików Excel w języku Python.
- Utwórz plik Python w Visual Studio Code.
- Zainstaluj bibliotekę Python Excel za pomocą pip.
- Załaduj plik Excel, który chcemy odczytać.
- Iteruj dane Excel za pomocą pętli.
- Wyświetl iterowane dane na konsoli.
Wymagania wstępne
Przed rozpoczęciem samouczka upewnij się, że w systemie zainstalowane są następujące wymagania wstępne:
- .NET 6.0 SDK: IronXL jest oparty na platformie .NET, co wymaga zainstalowania w systemie pakietu .NET 6.0 SDK.
- Python 3.0+: W samouczku zakładamy, że masz zainstalowany Python 3.0 lub nowszą wersję.
- pip: Upewnij się, że pip, instalator pakietów Pythona, jest zainstalowany, ponieważ będzie używany do instalacji IronXL.
Konfiguracja środowiska
1. Tworzenie pliku w Visual Studio Code
Otwórz Visual Studio Code i utwórz nowy plik w języku Python o nazwie ReadExcel.py. Ten plik będzie zawierał nasz skrypt do odczytu plików Excel przy użyciu IronXL.

2. Instalacja IronXL
Otworz wiersz polecen w Visual Studio Code, wybierajac Terminal > New Terminal z menu.

Zainstaluj IronXL, uruchamiając następujące polecenie:
pip install ironxl

Pisanie kodu
Teraz podzielmy kod na sekcje i wyjaśnijmy każdą część.
Importowanie bibliotek
from ironxl import *
import sys
Tutaj importujemy wszystko z biblioteki IronXL, która zapewnia funkcjonalność pracy z plikami Excel. sys służy do ustawienia ścieżki, w której zainstalowano Python, co jest niezbędne do prawidłowego działania IronXL.
Ustawianie ścieżki instalacyjnej Pythona
sys.prefix = r'C:\Users\User Name\AppData\Local\Programs\Python\Python312'
sys.prefix ma przypisaną ścieżkę do katalogu instalacyjnego Pythona. Ten etap przygotowawczy może nie być konieczny w każdym środowisku, ale w niektórych konfiguracjach jest niezbędny, aby zapobiec problemom związanym ze ścieżkami.
Ustawianie klucza licencyjnego
License.LicenseKey = "License-Key"
Biblioteka IronXL wymaga ważnego klucza licencyjnego, aby odblokować wszystkie jej funkcje. W tym wierszu kodu License.LicenseKey = "License-Key" należy wstawić uzyskany klucz licencyjny. Bez ważnej licencji IronXL nie będzie działać.
Ładowanie skoroszytu
workbook = WorkBook.Load("data.xlsx")
Ta sekcja skryptu, workbook = WorkBook.Load("data.xlsx"), pokazuje, jak załadować skoroszyt programu Excel. WorkBook.Load to metoda udostępniana przez IronXL, służąca do otwierania istniejącego pliku Excel, określonego przez ścieżkę do pliku.
W przykładzie użyto pliku "data.xlsx", zakładając, że znajduje się on w tym samym katalogu co skrypt. Jeśli plik znajduje się w innym miejscu, należy podać pełną ścieżkę do pliku.
Wybór arkusza
worksheet = workbook.WorkSheets[0]
Po załadowaniu skoroszytu następnym krokiem jest wybranie arkusza. Wiersz workbook.WorkSheets[0] zapewnia dostęp do pierwszego arkusza w pliku Excel. Arkusze są indeksowane, zaczynając od 0, więc ten fragment kodu skutecznie wybiera pierwszy arkusz.
Odczytywanie i wyświetlanie danych
print("Sample data from A2:A5:")
for cell in worksheet["A2:A5"]:
print("Cell {} has value '{}'".format(cell.AddressString, cell.Text))
Ta część skryptu pokazuje, jak odczytywać i wyświetlać dane z określonych komórek. Przechodząc iteracyjnie przez zakres komórek w arkuszu ["A2:A5"], uzyskujemy dostęp do adresu i wartości tekstowej każdej komórki. Możesz pobierać informacje z predefiniowanych obszarów w arkuszu.
Wykonywanie obliczeń
IronXL udostępnia funkcje umożliwiające wykonywanie prostych obliczeń bezpośrednio na zakresach danych w arkuszu Excel. Poniższe fragmenty kodu pokazują, jak wykonywać proste obliczenia, takie jak suma, minimum i maksimum, na danych w określonym zakresie.
total_sum = worksheet["B2:B10"].Sum()
print("Total Sum of B2:B10: ", total_sum)
minimum_value = worksheet["C2:C10"].Min()
print("Minimum Value in C2:C10: ", minimum_value)
maximum_value = worksheet["D2:D10"].Max()
print("Maximum Value in D2:D10: ", maximum_value)
Odkrywanie unikalnych wartości
Ta część skryptu pokazuje, jak zidentyfikować unikalne wartości w określonym zakresie arkusza Excel:
unique_values = set(cell.Text for cell in worksheet["F2:F10"])
print("Unique Values in F2:F10: ", unique_values)
Aby to osiągnąć, wykorzystano zrozumienie zbiorów. Zbiory w języku Python to kolekcje, które automatycznie eliminują zduplikowane wpisy, dzięki czemu idealnie nadają się do wyszukiwania unikalnych wartości. Pętla przechodzi przez każdą komórkę w zakresie F2:F10, uzyskując dostęp do treści tekstowej każdej komórki za pomocą cell.Text.
Umieszczając tę iterację w zestawie, zapewniamy, że zachowane zostaną tylko unikalne wartości.
Zliczanie wystąpień określonej wartości
Wreszcie, ten fragment kodu zlicza, ile razy określona wartość występuje w danym przedziale.
specific_value = '5' # Adjust this as needed based on your data
occurrences = sum(cell.Text == specific_value for cell in worksheet["G2:G10"])
print(f"Occurrences of value '{specific_value}' in G2:G10: ", occurrences)
Celem tutaj jest określenie częstości występowania konkretnej wartości, oznaczonej tutaj jako specific_value. Kod wykorzystuje wyrażenie generatora, które iteruje po każdej komórce w zakresie G2:G10, porównując zawartość tekstową komórki z wartością specific_value.
Wyrażenie cell.Text == specific_value zwraca wartość True dla każdej komórki zawierającej docelową wartość, a w pozostałych przypadkach wartość False. Funkcja sumy zsumowuje te wartości logiczne, traktując True jako 1, a False jako 0, co w efekcie pozwala policzyć, ile razy pojawia się określona wartość.
Pełny przykład kodu
Oto pełny kod, który pomoże lepiej zrozumieć treść:
from ironxl import *
import sys
# Setting Python installation path
sys.prefix = r'C:\Users\User Name\AppData\Local\Programs\Python\Python312'
# Setting the license key for IronXL
License.LicenseKey = "License-Key"
# Load the workbook
workbook = WorkBook.Load("data.xlsx")
# Select the worksheet at index 0
worksheet = workbook.WorkSheets[0]
# Display values in a specific range as an example
print("Sample data from A2:A5:")
for cell in worksheet["A2:A5"]:
print("Cell {} has value '{}'".format(cell.AddressString, cell.Text))
# Calculate the sum of values in a different range
total_sum = worksheet["B2:B10"].Sum()
print("Total Sum of B2:B10: ", total_sum)
# Calculate the minimum value in another range
minimum_value = worksheet["C2:C10"].Min()
print("Minimum Value in C2:C10: ", minimum_value)
# Calculate the maximum value in a different range
maximum_value = worksheet["D2:D10"].Max()
print("Maximum Value in D2:D10: ", maximum_value)
# Find unique values in a specified range
unique_values = set(cell.Text for cell in worksheet["F2:F10"])
print("Unique Values in F2:F10: ", unique_values)
# Count occurrences of a specific value in a different range
specific_value = '5' # Adjust this as needed based on your data
occurrences = sum(cell.Text == specific_value for cell in worksheet["G2:G10"])
print(f"Occurrences of value '{specific_value}' in G2:G10: ", occurrences)
Wynik
Po uruchomieniu pliku ReadExcel.py w języku Python w konsoli wyświetli się następujący wynik, odzwierciedlający rezultaty operacji przeprowadzonych przez skrypt na danych z Excela.

Wnioski
W tym samouczku omówiliśmy, jak skonfigurować środowisko Python do korzystania z IronXL for Python w celu odczytu plików Excel. Omówiliśmy instalację niezbędnego oprogramowania, pisanie skryptu do ładowania skoroszytu Excel, wybieranie arkusza, odczytywanie danych, wykonywanie podstawowych operacji analizy danych i nie tylko.
IronXL zapewnia potężny interfejs API do pracy z plikami Excel w języku Python, umożliwiając analizę danych, czyszczenie danych i wizualizację bez konieczności korzystania z programu Microsoft Excel.
Niezależnie od tego, czy analizujesz dane sprzedażowe, importujesz dane do raportów, czy tworzysz wizualizacje na podstawie danych z Excela, IronXL oferuje solidne rozwiązanie do zarządzania plikami Excel w aplikacjach napisanych w języku Python.
IronXL zapewnia bezplatna wersje probna dla uzytkownikow, aby mogli odkryc jego funkcje, z licencjami zaczynajacymi sie od $999 dla tych, ktorzy sa gotowi na pelna integracje jego mozliwosci.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.
Powiązane artykuły


