Jak načíst tabulku v Python

Jak načíst tabulku v Python

Tento návod ukazuje, jak načíst soubory tabulek XLSX a CSV v Python pomocí Workbook, přistupovat k listům pomocí get_worksheet() a číst hodnoty buněk přes mřížku Worksheet.cells. Knihovna běží v čistém Python bez Microsoft Office nebo nativních rozšíření.

Návod krok za krokem

Krok 1: Nainstalujte balíček

Nainstalujte FOSS balíček Aspose.Cells z PyPI pomocí níže uvedeného příkazu pip:

pip install aspose-cells-foss

Ověřte instalaci importováním Workbook a vytištěním potvrzovací zprávy:

from aspose.cells_foss import Workbook
print("aspose-cells-foss is ready.")

Krok 2: Importujte požadované třídy

Importujte třídu Workbook z aspose.cells_foss pro přístup k načítání tabulky API:

from aspose.cells_foss import Workbook

Krok 3: Načtěte sešit ze souboru

Předávejte řetězec cesty k souboru do Workbook() pro načtení existující tabulky. Konstruktor přijímá volitelný argument password pro chráněné soubory:

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")
print("Loaded:", wb.file_path)

Krok 4: Přístup k listu

Použijte get_worksheet() s celočíselným indexem (od nuly) nebo řetězcem názvu listu. Pomocí vlastnosti worksheets zjistíte, kolik listů sešit obsahuje:

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")

# By index
ws = wb.get_worksheet(0)

# By name
ws_named = wb.get_worksheet("Summary")

print(f"Worksheets: {len(wb.worksheets)}")
print(f"First sheet: {ws.name}")

Krok 5: Čtení hodnot buněk

Přistupujte k buňkám přes vlastnost Worksheet.cells. Pomocí Cells.cell(row, col) získáte Cell podle jeho řádku a sloupce číslovaných od nuly. Data načtěte pomocí vlastnosti Cell.value. Použijte Cell.is_empty() pro bezpečné přeskočení prázdných buněk:

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")
ws = wb.get_worksheet(0)
cells = ws.cells

# Read individual cells
product = cells.cell(0, 0).value   # row 0, col 0 (A1)
revenue = cells.cell(0, 1).value   # row 0, col 1 (B1)

print(f"Product: {product}")
print(f"Revenue: {revenue}")

# Safe read with empty check
cell = cells.cell(1, 0)
if not cell.is_empty():
    print(f"A2: {cell.value}")

Krok 6: Procházet všechny řádky

Použijte Cells.iter_rows() k procházení všech řádků, aniž byste znali rozměry. Předávejte values_only=True pro získání prostých hodnot Python místo objektů Cell:

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")
ws = wb.get_worksheet(0)

for row in ws.cells.iter_rows(0, None, 0, None, values_only=True):
    print(row)

Časté problémy a opravy

FileNotFoundError při načítání Zkontrolujte, že cesta je správná a soubor existuje. Použijte pathlib.Path pro přenositelné cesty: Workbook(str(Path("data") / "report.xlsx")).

Cell.value returns None Buňka je prázdná nebo mimo rozsah. Použijte Cell.is_empty() pro kontrolu před čtením value. Souřadnice mimo rozsah nevyvolávají chyby — vrací prázdné buňky.

Soubor chráněný heslem vyvolá chybu Předávejte heslo jako druhý argument: Workbook("protected.xlsx", "secret").

Při čtení CSV se načte pouze první list Soubory CSV obsahují jediný list. Použijte Workbook.load_csv(file_path) na existujícím Workbook instanci, pokud potřebujete importovat data CSV do konkrétní pozice listu, místo aby se četla přes Workbook() konstruktoru přímo.

Název listu nebyl nalezen s get_worksheet(name) Názvy listů rozlišují velká a malá písmena. Vytiskněte ws.name pro každý index v wb.worksheets pro potvrzení přesného názvu před voláním get_worksheet("Name").

Často kladené otázky

Funguje to na Linuxu a macOS?

Ano. aspose-cells-foss je čistý Python a běží na Windows, macOS, Linuxu a v Docker kontejnerech bez jakýchkoli nativních rozšíření nebo systémových závislostí.

Jaké formáty souborů mohu načíst?

Konstruktor Workbook() podporuje soubory XLSX. Soubory CSV lze načíst předáním cesty .csv nebo voláním Workbook.load_csv(file_path) na instanci Workbook.

Jak najít poslední řádek s daty?

Iterujte pomocí Cells.iter_rows() a zastavte, když jsou všechny hodnoty v řádku None, nebo použijte Cell.is_empty() na okrajových buňkách k detekci konce dat.

Mohu otevřít sešit, aniž bych předem znal jeho formát?

Předejte cestu k souboru Workbook(file_path). Knihovna odvozuje formát z přípony souboru a hlaviček souboru. Pokud chybí přípona nebo je nejednoznačná, použijte explicitní možnost formátu pro ukládání/načítání.

Jak mohu přečíst buňku podle jejího písmenového adresy jako “B3”?

Použijte nulově indexované celé čísla řádku a sloupce: B3 je řádek 2, sloupec 1. Převádějte písmenové adresy pomocí ord(col_letter) - ord("A") pro jednopísmenné sloupce. Například B je ord("B") - ord("A") == 1, takže cells.cell(2, 1) odpovídá B3.

Viz také:

 Čeština