Tabulky Excelu mohou být výkonné, ale některé úkoly mohou vyžadovat větší programovací výkon. Zadejte Python a modul Openpyxl.
Openpyxl poskytuje funkce, které vám umožní pracovat se souborem Excel z Pythonu. Můžete jej použít ke zpracování dat, vytváření nových tabulek a dokonce i k manipulaci se vzorci.
Knihovna je užitečná, pokud potřebujete automatizovat stejné opakující se výpočty v mnoha souborech Excel. To může být případ, kdy potřebujete pracovat s velkými daty nebo provádět analýzu dat.
Jak nainstalovat modul Openpyxl
Nejprve nainstalujte Openpyxl do počítače pomocí těchto kroků:
- Otevřete příkazový řádek a spusťte následující:
pip nainstalovat openpyxl
- Pokud výše uvedené nefunguje, můžete si modul stáhnout z Stránka pro stahování souborů Openpyxl:
- Stáhněte si soubor openpyxl-version.tar.gz.
- Extrahujte obsah souboru.
- Otevřete příkazový řádek. Přejděte do složky extrahovaných souborů a spusťte následující příkaz:
py setup.py install
Vytvořte si soubory Excelu a testovací data
Vytvořte mnoho souborů aplikace Excel a přidejte do nich některá testovací data. Pokud s Excelem začínáte, je jich spousta
nástroje, které vám pomohou se to naučit.- Vytvořte několik souborů aplikace Excel ve stejné složce. V tomto scénáři existuje pět souborů aplikace Excel. Každý soubor ukládá údaje o obyvatelstvu pro tři různé země.
- Do každého souboru aplikace Excel přidejte některá testovací data. Například:
Tento příklad zahrnuje údaje týkající se populace mnoha zemí.
Jak vytvořit skript Python
Vytvořte skript Python následovně:
- Vytvořte nový soubor s názvem dataAnalysisScript.py. Otevřete jej pomocí jakéhokoli dobrého textového editoru, např Visual Studio Code nebo Atom.
- Přidejte následující tři importy na začátek souboru. „os“ a „sys“ se týkají přístupu k souborům ve vašem počítači nebo ukončení programu. "openpyxl" je modul stažený v předchozím kroku, který vám umožňuje číst a zapisovat soubory Excel.
importovat openpyxl
import os
import sys - Pod importy přidejte níže základní strukturu skriptu Python. Mějte na paměti, že struktura kódu v Pythonu závisí na správném odsazení.
# Hlavní, start programu
if __name__ == "__main__":
zatímco pravda:
# Zde napište kód
# Po dokončení kódu ukončete program.
sys.exit() - Do smyčky while přidejte výzvu, aby uživatel zadal cestu ke složce, která obsahuje soubory aplikace Excel.
if __name__ == "__main__":
zatímco pravda:
# Požádá uživatele, aby zadal cestu k souboru aplikace Excel.
filePath = input('Zadejte prosím cestu ke složce, kde jsou uloženy excelové soubory: ')
# Jde do této složky.
os.chdir (cesta k souboru)
# Získá seznam souborů aplikace Excel ve složce.
excelFiles = os.listdir('.')
Jak číst a zapisovat data ze souborů aplikace Excel
Použijte smyčku for k otevření, čtení, manipulaci a zavření každého ze souborů aplikace Excel.
- Přidejte smyčku for pro každý soubor aplikace Excel. Uvnitř smyčky otevřete každý soubor.
# Pro každý soubor Excel
pro i v rozsahu (0, len (excelFiles)):
# Toto používá modul openpyxl k otevření souboru Excel.
wb = openpyxl.load_workbook (excelFiles[i])
list = wb.active - Následující kód čte konkrétní hodnotu z konkrétní buňky:
cellValue = list[f'B3'].hodnota
- Následující kód zapíše data do buňky "A10":
Do buňky můžete také zapisovat zadáním čísla řádku a sloupce. Následující kód přidá číslo "2" do buňky "F1".prostěradlo[f'A10'].hodnota = 56
list.buňka (řádek=1, sloupec=6).hodnota = 2
Jak provádět vestavěné funkce aplikace Excel pomocí skriptu Python
Pro každý soubor Excel vypočítejte součet, průměr a směrodatnou odchylku pro každý sloupec „země“. Následující kód vypočítá součet všech čísel pro každou zemi:
list[f'B11'].value = '=SUM(B4:B9)'
list[f'C11'].value = '=SUM(C4:C9)'
list[f'D11'].value = '=SUM(D4:D9)'
- '=SUM(B4:B9)' je výpočet Excelu, který přidá všechna čísla ve sloupci B mezi buňky B4 a B9.
- list[f'B11'].hodnota je hodnota v buňce B11. Program uloží konečný výsledek do této buňky.
Můžete také vypočítat průměr a standardní odchylku funkcí Excel stejným způsobem, jak je uvedeno výše.
list[f'B12'].value = '=AVERAGE(B4:B9)'
list[f'C12'].value = '=AVERAGE(C4:C9)'
list[f'D12'].value = '=AVERAGE(D4:D9)'
list[f'B13'].value = '=STDEV(B4:B9)'
list[f'C13'].value = '=STDEV(C4:C9)'
list[f'D13'].value = '=STDEV(D4:D9)'
Jak zapisovat do souboru a zavřít sešit
Zbývající kód uloží a zavře každý sešit a poté zavře program.
- Uvnitř smyčky for po provedení požadovaných funkcí aplikace Excel uložte změny provedené v souboru aplikace Excel.
wb.save (excelFiles[i])
tisknout (excelFiles[i] + 'dokončeno.') - Mimo cyklus for zavřete skript Python.
sys.exit()
Celý kód:
# Hlavní, start programu
if __name__ == "__main__":
zatímco pravda:
filePath = input('Zadejte prosím cestu ke složce, kde jsou uloženy excelové soubory: ')
os.chdir (cesta k souboru)
excelFiles = os.listdir('.')# Pro každý soubor aplikace Excel
pro i v rozsahu (0, len (excelFiles)):wb = openpyxl.load_workbook (excelFiles[i])
list = wb.active# Proveďte všechny požadované funkce aplikace Excel, jak je uvedeno výše
# Uložte a zavřete sešit
wb.save (excelFiles[i])
tisknout (excelFiles[i] + 'dokončeno.')
# Po dokončení kódu ukončete program.
sys.exit()
Jak spustit skript Python
- Otevřete příkazový řádek. Přejděte na místo, kde jste uložili skript. Pokud jste skript uložili na plochu, příkaz by vypadal asi takto:
cd C:\Users\Sharl\Desktop
- Pro spuštění skriptu zadejte následující:
python dataAnalysisScript.py
- Skript se spustí tím, že vás požádá o zadání složky, ve které jsou uloženy všechny vaše soubory Excel. Pokud jste například tuto složku uložili na plochu, cesta k souboru by byla:
C:\Users\Sharl\Desktop\CountryData
- Otevřete jeden ze souborů aplikace Excel ve složce a zobrazte provedené změny.
Ujistěte se, že při spuštění skriptu není otevřen žádný ze souborů aplikace Excel.
Více automatizace s Pythonem
Nyní máte základy toho, jak provádět funkce Excelu uvnitř skriptu Python. Nyní se můžete naučit, jak provádět mnoho dalších funkcí aplikace Excel a také mnoho dalších způsobů automatizace souborů aplikace Excel. To zahrnuje použití knihovny, jako je Pandas k importu dat, nebo dokonce používání jazyka Visual Basic k provádění opakujících se úkolů v Excelu.
Jak vytvořit formulář pro automatické zadávání dat v aplikaci Excel VBA
Přečtěte si další
Související témata
- Programování
- Programování
- Krajta
- Microsoft Excel
- Tabulka
O autorovi
Sharlene je Tech Writer na MUO a také pracuje na plný úvazek ve vývoji softwaru. Má bakalářský titul v oboru IT a má předchozí zkušenosti se zajišťováním kvality a univerzitním doučováním. Sharlene miluje hry a hru na klavír.
Přihlaste se k odběru našeho newsletteru
Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!
Chcete-li se přihlásit k odběru, klikněte sem