XLSX do CSV v Pythonu

Xlsx Do Csv V Pythonu



V posledních letech se Python stal jedním z dominantních programovacích jazyků. Komunita Pythonu se výrazně rozšířila v důsledku popularity a užitečnosti Pythonu. V tomto článku se podrobně podíváme na to, jak používat Python k převodu XLSX na CSV. Jsme si vědomi toho, že excelové soubory se často používají k provádění finančních analýz, organizaci dat, zadávání dat, účetnictví, správě dat, vytváření tabulek a grafů atd. Pro import a export dat však většinou preferujeme použití souborů CSV. Jedním z přístupů je přenos strukturovaných dat pomocí prostého textového souboru.

Co je soubor Xslx?

Při vytváření tabulek v nejnovějších verzích Excelu používá Microsoft jako výchozí typ souboru soubor XLSX. Podobně jako u typu souboru DOCX ve Wordu můžeme soubory XLSX otevřít pomocí různých aplikací/programů.

Co je soubor CSV?

Formát souboru CSV je to, co můžeme použít k ukládání tabulkových datových hodnot v tabulkách a databázích. Tabulková data, text nebo text, jsou uložena jako prostý text v souboru CSV. Záznam v souboru CSV je datová hodnota uložená na každém řádku souboru. Každý záznam může mít více než jedno pole oddělené čárkami.







Klíčové rozdíly mezi soubory XLSX a CSV

Uživatelé často používají CSV a XLSX zaměnitelně a obecně si neuvědomují rozdíly mezi nimi, jaké jsou jejich základní vlastnosti a jak fungují. Slouží pouze jako zdroj informací pro uživatele. Téměř každá firma a společnost používá obojí k tomu, aby uživatelům pomáhala při správě, aktualizaci a ukládání dat pro uživatele. Níže jsou uvedeny některé klíčové rozdíly mezi soubory XLSX a CSV, které byste měli vědět:



  • Formát CSV ukládá tabulková data do oddělovacího textového souboru s příponou .csv. Zatímco soubor Excel nebo XLSX je tabulka, která ukládá soubory ve svém proprietárním formátu, viz. xls nebo XLSX.
  • Soubory aplikace Excel jsou binární soubory, které obsahují data na každém listu v sešitu. Zatímco CSV je prostý a jednoduchý textový formát se sekvencí datových hodnot oddělených čárkami.
  • Datové operace nelze provádět se soubory CSV. Lze je však provádět na souborech Excel.
  • Soubory CSV jsou rychlejší a využívají méně paměti než soubory XLSX. Excel však při importu dat využívá více paměti.
  • Pokud porovnáme CSV s Excelem, můžeme soubory CSV otevřít v libovolném textovém editoru Windows, zatímco soubory Excel nikoli.

Jak lze soubor XLSX převést na CSV pomocí Pythonu?

Soubor XLSX lze v Pythonu převést na soubor CSV pomocí různých metod. Python obsahuje řadu modulů a funkcí, které nám mohou pomoci tento úkol splnit. Zde si projdeme několik metod, které lze použít k převodu souborů XLSX na soubory CSV v Pythonu.



Předpoklady k provedení převodu Excel do CSV

Instalace požadavků je prvním krokem. V tomto tutoriálu používáme moduly jako kombinovat Pandy, CSV a Openpyxl atd. Balíček Pandas v Pythonu umožňuje manipulaci a analýzu dat. Pandas je mezi programátory Pythonu známá knihovna. Soubory Excel lze číst a zapisovat pomocí balíčku Python známého jako Openpyxl. S touto knihovnou se nebudeme přímo zabývat. Pandy místo toho používají Openpyxl interně.





Pomocí úložiště PyPI můžeme nainstalovat oba balíčky:

Metoda 1: Převod XLSX na CSV pomocí modulu Pandas

Příklad 1: Převod jednoho souboru XLSX na CSV



Pandas je open-source modul vytvořený pro programovací jazyk Python pro manipulaci a analýzu dat. Pro práci s časovými řadami a číselnými tabulkami nabízí Pandas řadu funkcí a funkcí. Pomocí pand lze číst, filtrovat a přeskupovat malé i velké datové sady. A výsledky lze vytvářet v různých formátech, jako je Excel, JSON a CSV. Ke čtení souboru aplikace Excel používáme metodu read_excel() Pandas a metodu to_csv() k transformaci DataFrame na soubor CSV.

Náš soubor .csv vytiskneme jako DataFrame, jak je vidět na výstupu. Předchozí skript převede náš soubor XLSX do CSV a vytvoří soubor „salary.csv“ v aktuálním adresáři.

Příklad 2: Převod souboru XLSX (s více listy) na CSV

V následujícím příkladu si nejprve přečteme názvy listů souboru Excel. Názvy jednotlivých listů se pak procházejí a ukládají jako samostatné soubory CSV. Skript ukládá soubory CSV na stejné místo.

Používáme ukázkový soubor XLSX se dvěma nebo více listy nebo tabulkami.

Jak je vidět, náš soubor XLSX se skládá ze dvou listů (list1 a list2). Nyní napíšeme kód pro převod tohoto souboru XLSX na CSV.

Výstup:

Skript úspěšně převedl soubor XLSX se dvěma listy na jeden soubor CSV s jedním listem.

Příklad 3: Převod více souborů XLSX na samostatné soubory CSV

Zvažte scénář, ve kterém potřebujete převést několik souborů Excel ve vašem pracovním adresáři do CSV. Můžete použít tuto metodu. Začneme tím, že předpokládáme, že každý soubor obsahuje pouze jeden list. Poté naši metodu rozšíříme o zpracování více souborů a několika listů. Následující kód Pythonu využívá standardní modul glob. Cesty k souborům spojujeme pomocí vzorů s Glob. Porovná všechny soubory s příponou .xlsx v pracovním adresáři. Poté vyvineme funkci, která načte soubory Excel a uloží je jako soubory CSV. Tuto funkci voláme u každé nalezené cesty k souboru.

Tento předchozí skript převede všechny soubory xlsx v aktuálním adresáři na soubory CSV.

Nyní převedeme soubory XLSX s více tabulkami do CSV. To je s největší pravděpodobností ta obtížná část. V našem pracovním adresáři jsou tři soubory Excel. Některé z nich se také skládají z více než jednoho listu. Naším cílem je:

  1. Vytvořte adresář pro každý tabulkový soubor,
  2. Převeďte listy souborů Excel do CSV a měly by být uloženy v nově vytvořeném adresáři.

Skript převede XLSX s jedním a více listy do samostatných souborů CSV a uloží je do nových adresářů se stejným názvem.

K načtení každého souboru Excelu umístěného v aktuálním adresáři se používá funkce glob. Poté se pro každý soubor XLSX vytvoří složky pomocí funkce os.mkdir. Pro každý list v novém adresáři se pak vytvoří soubor CSV tak, že se přejde přes název listu.

Metoda 2: Převod XLSX na CSV pomocí modulů Openpyxl a CSV

V této metodě použijeme moduly openpyxl a CSV k převodu souborů XLSX do CSV. Ke čtení a zápisu souborů xlsx, xlsm, xltx a xltm 2010 lze použít modul Python openpyxl. Modul CSV obsahuje třídy, které umožňují čtení a zápis tabulkových dat ve formátu CSV.

Ke čtení nebo načtení našeho souboru xlsx používáme funkci load_workbook() modulu openpyxl. Tuto funkci můžete použít, pokud potřebujete zapsat nebo přečíst existující soubor XLSX/Excel v Pythonu. Po aktivaci excelu použijeme funkci csv.writer() k vytvoření našeho CSV souboru. Poté se for-loop použije k uložení dat do datových buněk souboru CSV. Náš soubor example.xlsx převedeme na soubor myfile.csv, jak je vidět na následujícím obrázku:

Závěr

V tomto tutoriálu jsme vám poskytli krátký úvod do souborů XLSX a CSV. Vysvětlili jsme hlavní rozdíly mezi oběma formáty souborů. Diskutovali jsme o dvou metodách s více příklady, abychom se naučili, jak lze soubory XLSX s jedním nebo více listy převést na soubory CSV. Implementovali jsme příklad pro konverzi více souborů XLSX na soubory CSV současně. Převést data z Excelu do CSV může být jednoduché nebo obtížné. Pokud máte pouze jeden soubor s malým počtem listů, je to jednoduché. Ale pokud ne, může to být těžké.