Jak czytać pliki Excel w Python za pomocą IronXL
Ten przewodnik dostarcza programistom Python instrukcji krok po kroku dotyczących użycia biblioteki IronXL do odczytu i edycji dokumentów Microsoft Excel.
IronXL to kompleksowa biblioteka do przetwarzania plików Excel, wspierająca wiele języków programowania, w tym .NET oraz Python. Ten tutorial koncentruje się specjalnie na używaniu IronXL w skryptach Python do odczytu i edycji dokumentów Microsoft Excel.
Osobny tutorial dotyczący odczytu i edycji dokumentów Microsoft Excel w aplikacjach .NET można znaleźć tutaj.
Odczytywanie i tworzenie plików Excel w Python jest proste przy użyciu biblioteki IronXL for Python.
Przegląd
Jak czytać plik Excel w Python
- Pobierz bibliotekę Python do odczytu plików Excel
- Załaduj i odczytaj plik Excel (workbook)
- Utwórz workbook Excel w CSV lub XLSX
- Edytuj wartości komórek w zakresach komórek
- Zwaliduj dane arkusza kalkulacyjnego
- Eksportuj dane za pomocą Entity Framework
Samouczek
Krok 1: Dodaj IronXL jako zależność w swoim projekcie Python
Aby zintegrować bibliotekę IronXL z projektem Python, musisz zainstalować ją jako zależność przy użyciu powszechnie używanego menedżera pakietów Python, pip. Otwórz terminal i wykonaj następujące polecenie:
pip install IronXL
To zainstaluje określoną wersję IronXL w twoim projekcie, co pozwoli na jego import.
[IronXL for Python opiera się na bibliotece IronXL for .NET. Dlatego konieczne jest, aby na twoim komputerze była zainstalowana .NET 6.0 SDK, aby móc używać IronXL for Python.]
Krok 2: Załaduj workbook Excel
Klasa WorkBook reprezentuje workbook Excel. Aby otworzyć plik Excel, używamy metody WorkBook.Load, określając ścieżkę pliku Excel.
:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-1.py
# Load existing spreadsheet
workbook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
Każdy WorkBook może mieć wiele obiektów WorkSheet. Każdy z nich reprezentuje pojedynczy arkusz Excel w dokumencie Excel. Użyj metody WorkBook.get_worksheet, aby uzyskać odniesienie do określonego arkusza Excel.
:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-2.py
# Assuming workBook is an existing instance of WorkBook
workSheet = workBook.GetWorkSheet("GDPByCountry")
Tworzenie nowych dokumentów Excel
Aby utworzyć nowy dokument Excel, skonstruuj nowy obiekt WorkBook z prawidłowym typem pliku.
:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-3.py
# Create a new WorkBook with the specified Excel file format
workBook = WorkBook(ExcelFileFormat.XLSX)
Uwaga: Użyj ExcelFileFormat.XLS, aby wspierać starsze wersje Microsoft Excel (95 i wcześniejsze).
Dodaj arkusz do dokumentu Excel
Jak wcześniej wyjaśniono, WorkBook IronXL for Python zawiera zbiór jednego lub więcej WorkSheets.
Aby utworzyć nowy arkusz, wywołaj workbook.create_worksheet z nazwą arkusza.
:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-4.py
workSheet = workBook.CreateWorkSheet("GDPByCountry")
Dostęp do wartości komórek
Odczyt i edycja pojedynczej komórki
Dostęp do wartości poszczególnych komórek arkusza kalkulacyjnego uzyskuje się przez pobranie żądanej komórki z jej WorkSheet, jak pokazano poniżej:
:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-5.py
# Load existing spreadsheet
workbook = WorkBook.Load("test.xlsx")
worksheet = workbook.DefaultWorkSheet
# Access cell B1 in the worksheet
cell = worksheet["B1"]
Klasa Cell IronXL for Python reprezentuje pojedynczą komórkę w arkuszu Excel. Zawiera właściwości i metody umożliwiające użytkownikom bezpośrednie uzyskanie i modyfikację wartości komórki.
Z odniesieniem do obiektu Cell możemy odczytać i zapisać dane do i z komórki arkusza kalkulacyjnego.
Odczyt i zapis zakresu wartości komórek
Klasa Range reprezentuje dwuwymiarową kolekcję obiektów Cell. Ta kolekcja odnosi się do dosłownego zakresu komórek Excel. Uzyskaj zakresy, używając indeksowania za pomocą łańcucha na obiekcie WorkSheet.
:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-6.py
# Access cell B1 in the worksheet
cell = workSheet["B1"]
# Read the value of the cell as a string
value = cell.StringValue
print(value)
# Write a new value to the cell
cell.Value = "10.3289"
print(cell.StringValue)
Dodanie formuły do arkusza kalkulacyjnego
Ustaw formułę Cells za pomocą właściwości formula.
:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-7.py
# Access range D2:D101 in the worksheet
range_ = workSheet["D2:D101"]
Kod poniżej przechodzi przez każdą komórkę i ustawia całkowity procent w kolumnie C.
:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-8.py
# Iterate through all rows with a value
for y in range(2, i):
# Get the C cell
cell = workSheet[f"C{y}"]
# Set the formula for the Percentage of Total column
cell.Formula = f"=B{y}/B{i}"
Podsumowanie
IronXl.Excel to samodzielna biblioteka Python do odczytu szerokiej gamy formatów arkuszy kalkulacyjnych. Nie wymaga instalacji Microsoft Excel i nie jest zależna od Interop.
Często Zadawane Pytania
Jak odczytywać pliki Excel w języku Python?
Pliki Excel można odczytywać w języku Python za pomocą biblioteki IronXL, ładując skoroszyt metodą WorkBook.Load. Wystarczy podać ścieżkę do pliku Excel, np. workbook = ironxl.WorkBook.load('path/to/workbook.xlsx').
Czy mogę edytować pliki Excel w języku Python bez zainstalowanego programu Excel?
Tak, dzięki IronXL możesz edytować pliki Excel w języku Python bez konieczności instalowania programu Microsoft Excel. Możesz modyfikować wartości komórek, dodawać arkusze i stosować formuły bezpośrednio za pośrednictwem biblioteki IronXL.
Jak zainstalować bibliotekę IronXL for Python?
Aby zainstalować IronXL for Python, należy użyć menedżera pakietów pip, uruchamiając w terminalu polecenie pip install ironxl.
Jakie są zalety korzystania z IronXL do manipulacji plikami Excel w języku Python?
IronXL pozwala na obsługę plików Excel bez konieczności korzystania z programu Microsoft Excel. Oferuje takie funkcje, jak odczyt, edycja, tworzenie nowych skoroszytów oraz stosowanie formuł, co czyni go solidnym rozwiązaniem do pracy z arkuszami kalkulacyjnymi.
Jak uzyskać dostęp do konkretnej komórki w arkuszu Excel i zmodyfikować ją za pomocą IronXL?
Aby uzyskać dostęp do konkretnej komórki w arkuszu Excel za pomocą IronXL, należy użyć indeksu komórki, np. cell = worksheet['A1']. Wartość można odczytać za pomocą cell.value i zmodyfikować, przypisując nową wartość za pomocą cell.value = 'Nowa wartość'.
Czy w IronXL można pracować z zakresami komórek?
Tak, IronXL umożliwia pracę z zakresami komórek przy użyciu klasy Range. Dostęp do zakresu komórek można uzyskać za pomocą indeksatora ciągów znaków, np. range_of_cells = worksheet['B2:E5'], i wykonywać na nich operacje.
Jak dodać formuły do komórek Excela za pomocą IronXL w Pythonie?
Aby dodać formuły do komórek programu Excel za pomocą IronXL, należy ustawić formułę za pomocą właściwości formula w komórce. Na przykład cell.formula = '=A1+B1' dodaje wartości z komórek A1 i B1.
Czy IronXL wymaga Microsoft Office Interop?
Nie, IronXL nie wymaga Microsoft Office Interop. Działa niezależnie od programu Microsoft Excel, umożliwiając przetwarzanie plików Excel bez dodatkowych zależności.

