XLSX u CSV u Pythonu

Xlsx U Csv U Pythonu



Posljednjih godina Python je postao jedan od dominantnih programskih jezika. Zajednica Pythona značajno se proširila kao rezultat popularnosti i korisnosti Pythona. Ići ćemo u detalje u ovom članku o tome kako koristiti Python za pretvaranje XLSX u CSV. Svjesni smo da se excel datoteke često koriste za izvođenje financijskih analiza, organiziranje podataka, unos podataka, računovodstvo, upravljanje podacima, izradu dijagrama i grafikona itd. Međutim, uglavnom preferiramo koristiti CSV datoteke za uvoz i izvoz podataka. Jedan pristup je prijenos strukturiranih podataka pomoću datoteke običnog teksta.

Što je Xslx datoteka?

Prilikom izrade proračunskih tablica u najnovijim verzijama programa Excel, Microsoft koristi XLSX datoteku kao zadanu vrstu datoteke. Slično Wordovoj DOCX vrsti datoteke, XLSX datoteke možemo otvoriti pomoću raznih aplikacija/programa.

Što je CSV datoteka?

Format CSV datoteke ono je što možemo koristiti za pohranu tabličnih vrijednosti podataka u proračunske tablice i baze podataka. Tablični podaci, tekst ili tekst, pohranjuju se kao običan tekst u CSV datoteku. Zapis u CSV datoteci je vrijednost podataka pohranjena u svakom retku datoteke. Svaki zapis može imati više od jednog polja koja su odvojena zarezima.







Ključne razlike između XLSX i CSV datoteka

Korisnici često koriste CSV i XLSX naizmjenično i općenito nisu svjesni razlika između njih, koje su njihove temeljne karakteristike i kako funkcioniraju. Služi samo kao izvor informacija za korisnika. Gotovo svaka tvrtka i korporacija koriste oboje kako bi pomogli korisnicima u upravljanju, ažuriranju i pohranjivanju podataka za korisnika. Slijedi nekoliko ključnih razlika između XLSX i CSV datoteka koje biste trebali znati:



  • CSV format sprema tabularne podatke u tekstualnu datoteku za razgraničenje s nastavkom .csv. Dok je excel ili XLSX datoteka proračunska tablica koja pohranjuje datoteke u svom vlasničkom formatu, tj. xls ili XLSX.
  • Excel datoteke su binarne datoteke koje sadrže podatke na svakom radnom listu u radnoj knjizi. Dok je CSV običan i jednostavan tekstualni format s nizom vrijednosti podataka odvojenih zarezima.
  • Podatkovne operacije ne mogu se provoditi na CSV datotekama. Međutim, oni se mogu provesti u Excel datotekama.
  • CSV datoteke su brže i koriste manje memorije od XLSX datoteka. Međutim, Excel koristi više memorije prilikom uvoza podataka.
  • Ako usporedimo CSV s Excelom, možemo otvoriti CSV datoteke u bilo kojem Windows uređivaču teksta, dok Excel datoteke ne mogu.

Kako se XLSX datoteka može pretvoriti u CSV pomoću Pythona?

XLSX datoteka može se transformirati u CSV datoteku u Pythonu korištenjem raznih metoda. Python uključuje niz modula i funkcija koje nam mogu pomoći u izvršenju ovog zadatka. Ovdje ćemo proći kroz nekoliko metoda koje se mogu koristiti za pretvaranje XLSX datoteka u CSV datoteke u Pythonu.



Preduvjeti za izvođenje konverzije programa Excel u CSV

Instaliranje zahtjeva je prvi korak. U ovom vodiču koristimo module kao što su Combine Pandas, CSV i Openpyxl itd. Pythonov Pandas paket omogućuje manipulaciju i analizu podataka. Pandas je dobro poznata biblioteka među Python programerima. Excel datoteke mogu se čitati i pisati pomoću Python paketa poznatog kao Openpyxl. Nećemo se izravno baviti ovom knjižnicom. Pande umjesto toga interno koriste Openpyxl.





Koristeći PyPI repozitorij, možemo instalirati oba paketa:

Metoda 1: Pretvaranje XLSX u CSV pomoću Pandas modula

Primjer 1: Pretvaranje jedne XLSX datoteke u CSV



Pandas je modul otvorenog koda stvoren za programski jezik Python za manipuliranje i analizu podataka. Za rad s vremenskim serijama i numeričkim tablicama, Pandas nudi niz funkcija i značajki. Koristeći pande, mali i ogromni skupovi podataka mogu se čitati, filtrirati i preuređivati. A rezultati se mogu proizvesti u raznim formatima kao što su Excel, JSON i CSV. Koristimo metodu read_excel() Pandasa za čitanje excel datoteke i metodu to_csv() za transformaciju DataFramea u CSV datoteku.

Ispisujemo našu .csv datoteku kao DataFrame kao što se može vidjeti u izlazu. Prethodna skripta pretvara našu XLSX datoteku u CSV i stvara datoteku 'salary.csv' u trenutnom direktoriju.

Primjer 2: Pretvaranje XLSX datoteke (s više listova) u CSV

U primjeru koji slijedi prvo čitamo nazive listova Excel datoteke. Imena pojedinačnih listova zatim se ponavljaju i spremaju kao različite CSV datoteke. Skripta sprema CSV na isto mjesto.

Koristimo oglednu XLSX datoteku s dva ili više radnih listova ili proračunskih tablica.

Kao što se može vidjeti, naša XLSX datoteka sastoji se od dva lista (list1 i list2). Sada pišemo kod za pretvaranje ove XLSX datoteke u CSV.

Izlaz:

Skripta je uspješno pretvorila XLSX datoteku s dva lista u jednu CSV datoteku s jednim listom.

Primjer 3: Pretvaranje više XLSX datoteka u zasebne CSV datoteke

Razmotrite scenarij u kojem trebate pretvoriti nekoliko Excel datoteka u vašem radnom direktoriju u CSV. Možete upotrijebiti ovu metodu. Počinjemo s pretpostavkom da svaka datoteka sadrži samo jedan list. Zatim proširujemo našu metodu za obradu više datoteka i nekoliko listova. Python kod koji slijedi koristi standardni modul glob. Usklađujemo putove datoteka pomoću uzoraka s Globom. Odgovara svim datotekama s nastavkom .xlsx u radnom direktoriju. Nakon toga razvijamo funkciju koja čita Excel datoteke i sprema ih kao CSV datoteke. Ovu funkciju pozivamo na svakoj pronađenoj stazi datoteke.

Ova prethodna skripta pretvara sve xlsx datoteke u trenutnom direktoriju u CSV datoteke.

Sada pretvaramo XLSX datoteke s više proračunskih tablica u CSV. Ovo je najvjerojatnije teži dio. Tri Excel datoteke nalaze se u našem radnom direktoriju. Također, neki od njih sastoje se od više od jednog lista. Cilj nam je:

  1. Stvorite direktorij za svaku datoteku proračunske tablice,
  2. Pretvorite listove excel datoteka u CSV i oni bi se trebali čuvati u novostvorenom direktoriju.

Skripta pretvara XLSX s jednim i više listova u zasebne CSV datoteke i pohranjuje ih u nove direktorije s istim nazivom.

Za dohvaćanje svake Excel datoteke koja se nalazi u trenutnom direktoriju koristi se funkcija glob. Nakon toga se stvaraju mape za svaku XLSX datoteku pomoću funkcije os.mkdir. Zatim se stvara CSV datoteka za svaki list unutar novog direktorija prelaskom preko naziva lista.

Metoda 2: Pretvaranje XLSX u CSV pomoću Openpyxl i CSV modula

U ovoj metodi koristit ćemo module openpyxl i CSV za pretvaranje XLSX datoteka u CSV. Za čitanje i pisanje datoteka 2010 xlsx, xlsm, xltx i xltm može se koristiti Python modul openpyxl. CSV modul uključuje klase koje omogućuju čitanje i pisanje tabelarnih podataka formatiranih u CSV-u.

Za čitanje ili učitavanje naše xlsx datoteke koristimo funkciju load_workbook() modula openpyxl. Ovu funkciju možete koristiti ako trebate pisati ili čitati postojeću XLSX/Excel datoteku u Pythonu. Nakon aktivacije excela koristimo funkciju csv.writer() za izradu naše CSV datoteke. Zatim se for-petlja koristi za pohranu podataka u podatkovne ćelije CSV datoteke. Pretvaramo našu datoteku example.xlsx u myfile.csv kao što se vidi na sljedećoj slici:

Zaključak

U ovom vodiču dali smo vam kratki uvod u XLSX datoteke i CSV datoteke. Objasnili smo ključne razlike između oba formata datoteka. Razgovarali smo o dvije metode s više primjera kako bismo naučili kako se XLSX datoteke s jednim ili više listova mogu pretvoriti u CSV datoteke. Implementirali smo primjer za istovremeno pretvaranje više XLSX datoteka u CSV datoteke. Može biti jednostavno ili teško pretvoriti podatke iz Excela u CSV. Ako imate samo jednu datoteku s malim brojem listova, to je jednostavno. Ali ako ne, može biti teško.