XLSX-ből CSV-be Pythonban

Xlsx Bol Csv Be Pythonban



Az elmúlt években a Python az egyik domináns programozási nyelvvé vált. A Python közösség jelentősen bővült a Python népszerűségének és hasznosságának köszönhetően. Ebben a cikkben részletesen bemutatjuk, hogyan lehet Pythont használni az XLSX CSV-vé konvertálására. Tisztában vagyunk azzal, hogy az Excel fájlokat gyakran használják pénzügyi elemzések elvégzésére, az adatok rendszerezésére, adatbevitelre, könyvelésre, adatkezelésre, diagramok és grafikonok készítésére stb. Az adatok importálására és exportálására azonban leginkább a CSV fájlokat részesítjük előnyben. Az egyik megközelítés a strukturált adatok sima szöveges fájl használatával történő átvitele.

Mi az Xslx fájl?

Amikor az Excel legújabb verzióiban táblázatokat készít, a Microsoft XLSX fájlt használ alapértelmezett fájltípusként. A Word DOCX fájltípusához hasonlóan számos alkalmazás/program segítségével megnyithatjuk az XLSX fájlokat.

Mi az a CSV-fájl?

A CSV fájlformátum az, amelyet a táblázatos adatértékek táblázatokban és adatbázisokban való tárolására használhatunk. A táblázatos adatok, szöveg vagy szöveg, egyszerű szövegként tárolódnak egy CSV-fájlban. A CSV-fájl rekordja a fájl egyes soraiban tárolt adatérték. Minden rekordnak több, vesszővel elválasztott mezője lehet.







Főbb különbségek az XLSX és a CSV fájlok között

A felhasználók gyakran felváltva használják a CSV-t és az XLSX-et, és általában nincsenek tisztában a köztük lévő különbségekkel, alapvető jellemzőikkel és működésükkel. Csak információforrásként szolgál a felhasználó számára. Szinte minden vállalkozás és vállalat egyaránt arra használja, hogy segítse a felhasználókat az adatok kezelésében, frissítésében és tárolásában. Az alábbiakban felsorolunk néhány lényeges különbséget az XLSX és a CSV fájlok között, amelyeket tudnia kell:



  • A CSV formátum a táblázatos adatokat .csv kiterjesztésű határoló szövegfájlba menti. Míg az excel vagy XLSX fájl egy táblázat, amely a fájlokat a saját formátumában tárolja, ti. xls vagy XLSX.
  • Az Excel fájlok bináris fájlok, amelyek a munkafüzet minden munkalapján tartalmazzák az adatokat. Ezzel szemben a CSV egy egyszerű és egyszerű szövegformátum, amely vesszővel elválasztott adatértékek sorozatát tartalmazza.
  • Az adatműveletek nem hajthatók végre CSV-fájlokon. Ezek azonban végrehajthatók Excel-fájlokon.
  • A CSV-fájlok gyorsabbak és kevesebb memóriát használnak, mint az XLSX-fájlok. Az Excel azonban több memóriát használ az adatok importálásakor.
  • Ha összehasonlítjuk a CSV-t az Excellel, a CSV-fájlokat bármelyik Windows szövegszerkesztőben megnyithatjuk, míg az Excel-fájlokat nem.

Hogyan lehet egy XLSX fájlt CSV-vé konvertálni Python használatával?

Az XLSX-fájlok CSV-fájllá alakíthatók Pythonban különféle módszerekkel. A Python számos modult és funkciót tartalmaz, amelyek segíthetnek ennek a feladatnak a végrehajtásában. Itt áttekintünk néhány módszert, amelyek segítségével az XLSX fájlokat CSV-fájlokká konvertálhatja a Pythonban.



Az Excel CSV-vé konvertálásának előfeltételei

A követelmények telepítése az első lépés. Ebben az oktatóanyagban olyan modulokat használunk, mint a Pandas, a CSV és az Openpyxl stb. kombinálása. A Python Pandas csomagja lehetővé teszi az adatok manipulálását és elemzését. A Pandas jól ismert könyvtár a Python programozók körében. Az Excel-fájlok az Openpyxl néven ismert Python-csomaggal olvashatók és írhatók. Nem fogunk közvetlenül foglalkozni ezzel a könyvtárral. A pandák ehelyett az Openpyxl-t használják belsőleg.





A PyPI tároló használatával mindkét csomagot telepíthetjük:

1. módszer: XLSX konvertálása CSV-vé a Pandas modul használatával

1. példa: Egy XLSX-fájl konvertálása CSV-vé



A Pandas egy nyílt forráskódú modul, amelyet a Python programozási nyelvhez hoztak létre az adatok manipulálására és elemzésére. Az idősorok és numerikus táblázatok használatához a Pandas számos funkciót és szolgáltatást kínál. A pandák segítségével kicsi és hatalmas adatkészletek is olvashatók, szűrhetők és átrendezhetők. Az eredmények pedig különféle formátumokban, például Excelben, JSON-ban és CSV-ben is előállíthatók. A Pandas read_excel() metódusát használjuk az excel fájl olvasásához, a to_csv() metódusát pedig a DataFrame CSV-fájllá alakításához.

A .csv fájlunkat DataFrame-ként nyomtatjuk ki, ahogy az a kimeneten is látható. Az előző szkript átalakítja az XLSX fájlunkat CSV-vé, és létrehoz egy „salary.csv” fájlt az aktuális könyvtárban.

2. példa: XLSX-fájl konvertálása (több lappal) CSV-vé

A következő példában először az Excel fájl lapneveit olvassuk be. Az egyes munkalapok neveit ezután a rendszer végighurkolja, és különálló CSV-fájlként menti. A szkript ugyanarra a helyre menti a CSV-ket.

Egy minta XLSX fájlt használunk, amely két vagy több munkalappal vagy táblázattal rendelkezik.

Mint látható, az XLSX fájlunk két lapból áll (1. és 2. lap). Most írunk egy kódot, amely ezt az XLSX fájlt CSV-vé alakítja.

Kimenet:

A szkript sikeresen konvertálta a két lapot tartalmazó XLSX-fájlt egyetlen CSV-fájllá egyetlen lappal.

3. példa: Több XLSX-fájl átalakítása különálló CSV-fájlokká

Fontolja meg azt a forgatókönyvet, amelyben több Excel-fájlt kell konvertálnia a munkakönyvtárában CSV-vé. Alkalmazhatja ezt a módszert. Kezdjük azzal, hogy feltételezzük, hogy minden fájl csak egy lapot tartalmaz. Ezután kiterjesztjük módszerünket több fájl és több lap kezelésére. A következő Python-kód a glob szabvány modult használja. A fájl elérési útjait minták segítségével egyeztetjük a Glob-al. A munkakönyvtárban található összes .xlsx kiterjesztésű fájlnak megfelel. Ezt követően kifejlesztünk egy függvényt, amely beolvassa az Excel fájlokat és elmenti CSV-fájlként. Ezt a függvényt minden talált fájl elérési útján meghívjuk.

Ez az előző szkript az aktuális könyvtárban lévő összes xlsx fájlt CSV-fájlokká konvertálja.

Most a több táblázatot tartalmazó XLSX fájlokat CSV-vé alakítjuk. Valószínűleg ez a nehéz rész. Három Excel fájl található a munkakönyvtárunkban. Ezenkívül néhányuk egynél több lapból áll. Célunk, hogy:

  1. Hozzon létre egy könyvtárat minden táblázatfájlhoz,
  2. Alakítsa át az Excel fájlokat CSV formátumba, és azokat az újonnan létrehozott könyvtárban kell tartani.

A szkript az egy- és többlapos XLSX-et különálló CSV-fájlokká alakítja, és új, azonos nevű könyvtárakban tárolja.

Az aktuális könyvtárban található összes Excel-fájl lekéréséhez a glob függvényt kell használni. Ezt követően az os.mkdir függvény segítségével minden XLSX-fájlhoz mappák jönnek létre. Ezután az új könyvtáron belül minden egyes laphoz létrejön egy CSV-fájl a lap nevének áthurkolásával.

2. módszer: XLSX konvertálása CSV-vé Openpyxl és CSV modulok használatával

Ebben a módszerben az openpyxl és a CSV modulokat használjuk az XLSX fájlok CSV formátumba konvertálásához. A 2010-es xlsx, xlsm, xltx és xltm fájlok olvasásához és írásához az openpyxl Python modul használható. A CSV-modul olyan osztályokat tartalmaz, amelyek lehetővé teszik a CSV-formátumú táblázatos adatok olvasását és írását.

Az xlsx fájl olvasásához vagy betöltéséhez az openpyxl modul load_workbook() függvényét használjuk. Ezt a funkciót akkor használhatja, ha meglévő XLSX/Excel fájlt kell írnia vagy olvasnia Pythonban. Az excel aktiválása után a csv.writer() függvényt használjuk a CSV fájl létrehozásához. Ezután a for-loop az adatok tárolására szolgál a CSV-fájl adatcelláiban. Az example.xlsx fájlt a következő képen látható módon a myfile.csv fájlba konvertáljuk:

Következtetés

Ebben az oktatóanyagban röviden bemutatjuk az XLSX- és CSV-fájlokat. Elmagyaráztuk a két fájlformátum közötti fő különbségeket. Két módszert tárgyaltunk több példával, hogy megtanítsuk, hogyan lehet az egy- vagy többlapos XLSX-fájlokat CSV-fájlokká konvertálni. Megvalósítottunk egy példát több XLSX-fájl egyidejű konvertálására CSV-fájlokká. Az adatok Excelből CSV formátumba konvertálása egyszerű vagy nehéz lehet. Ha csak egy fájlja van kevés lappal, akkor ez egyszerű. De ha nem, akkor nehéz lehet.