XLSX hanggang CSV sa Python

Xlsx Hanggang Csv Sa Python



Sa mga nagdaang taon, ang Python ay tumaas bilang isa sa nangingibabaw na mga programming language. Ang komunidad ng Python ay makabuluhang lumawak bilang resulta ng katanyagan at utility ng Python. Tatalakayin namin ang detalye sa artikulong ito tungkol sa kung paano gamitin ang Python para i-convert ang XLSX sa CSV. Alam namin na ang mga excel file ay madalas na ginagamit para magsagawa ng financial analysis, ayusin ang data, data entry, accounting, data management, gumawa ng mga chart at graph, atbp. Gayunpaman, mas gusto naming gumamit ng mga CSV file para sa pag-import at pag-export ng data. Isa itong diskarte ay ang paglipat ng structured data gamit ang isang plain text file.

Ano ang isang Xslx File?

Kapag gumagawa ng mga spreadsheet sa pinakabagong bersyon ng Excel, gumagamit ang Microsoft ng XLSX file bilang default na uri ng file. Katulad ng uri ng file na DOCX ng Word, maaari naming buksan ang mga XLSX file gamit ang iba't ibang mga application/program.

Ano ang isang CSV File?

Ang format ng CSV file ay kung ano ang maaari naming gamitin upang iimbak ang mga halaga ng tabular na data sa mga spreadsheet at database. Ang tabular na data, text o text, ay iniimbak bilang plain text sa isang CSV file. Ang isang tala sa CSV file ay ang halaga ng data na nakaimbak sa bawat row ng file. Ang bawat tala ay maaaring magkaroon ng higit sa isang field na pinaghihiwalay ng mga kuwit.







Mga Pangunahing Pagkakaiba sa pagitan ng XLSX at CSV Files

Kadalasang ginagamit ng mga user ang CSV at XLSX nang magkapalit, at sa pangkalahatan ay hindi nila alam ang mga pagkakaiba sa pagitan nila, kung ano ang kanilang mga pangunahing katangian, at kung paano gumagana ang mga ito. Ito ay nagsisilbi lamang bilang isang mapagkukunan ng impormasyon para sa gumagamit. Halos lahat ng negosyo at korporasyon ay parehong gumagamit upang tulungan ang mga user sa pamamahala, pag-update, at pag-iimbak ng data para sa user. Ang sumusunod ay ilang pangunahing pagkakaiba sa pagitan ng XLSX at CSV file na dapat mong malaman:



  • Ang CSV format ay nagse-save ng tabular na data sa isang delimiter text file na may extension na .csv. Samantalang, ang excel o XLSX file ay isang spreadsheet na nag-iimbak ng mga file sa pagmamay-ari nitong format, viz. xls o XLSX.
  • Ang mga Excel file ay mga binary file na naglalaman ng data sa bawat worksheet sa isang workbook. Samantalang, ang CSV ay isang plain at simpleng format ng text na may pagkakasunod-sunod ng mga value ng data na pinaghihiwalay ng mga kuwit.
  • Ang mga pagpapatakbo ng data ay hindi maaaring isagawa sa mga CSV file. Gayunpaman, maaari silang isagawa sa mga file ng Excel.
  • Ang mga CSV file ay mas mabilis at gumagamit ng mas kaunting memorya kaysa sa mga XLSX file. Gayunpaman, ang Excel ay gumagamit ng mas maraming memorya kapag ini-import ang data.
  • Kung ihahambing namin ang CSV sa Excel, maaari naming buksan ang mga CSV file sa anumang Windows text editor habang ang mga Excel file ay hindi.

Paano Mako-convert ang isang XLSX File sa CSV Gamit ang Python?

Ang isang XLSX file ay maaaring ma-transform sa isang CSV file sa Python gamit ang iba't ibang mga pamamaraan. Kasama sa Python ang iba't ibang mga module at function na maaaring makatulong sa amin upang magawa ang gawaing ito. Dito, dadaan tayo sa ilang pamamaraan na magagamit para i-convert ang mga XLSX file sa CSV file sa Python.



Mga Kinakailangan upang Isagawa ang Conversion ng Excel sa CSV

Ang pag-install ng mga kinakailangan ay ang unang hakbang. Ginagamit namin ang mga module tulad ng pagsasama-sama ng Pandas, CSV, at Openpyxl, atbp. sa tutorial na ito. Ang Python's Pandas package ay nagbibigay-daan para sa pagmamanipula at pagsusuri ng data. Ang Pandas ay isang kilalang aklatan sa mga programmer ng Python. Maaaring basahin at isulat ang mga Excel file gamit ang Python package na kilala bilang Openpyxl. Hindi namin direktang haharapin ang library na ito. Sa halip, ginagamit ng mga Panda ang Openpyxl sa loob.





Gamit ang PyPI repository, maaari naming i-install ang parehong mga pakete:

Paraan 1: Pag-convert ng XLSX sa CSV Gamit ang Pandas Module

Halimbawa 1: Pag-convert ng Isang XLSX File sa CSV



Ang Pandas ay isang open-source na module na nilikha para sa Python programming language upang manipulahin at pag-aralan ang data. Upang gumana sa mga serye ng oras at mga talahanayan ng numero, nagbibigay ang Pandas ng iba't ibang functionality at feature. Gamit ang mga panda, parehong maliliit at malalaking dataset ay maaaring basahin, i-filter, at muling ayusin. At ang mga resulta ay maaaring gawin sa iba't ibang mga format tulad ng Excel, JSON, at CSV. Ginagamit namin ang read_excel() na paraan ng Pandas para magbasa ng excel file, at ang to_csv() na paraan para gawing CSV file ang DataFrame.

Ini-print namin ang aming .csv file bilang isang DataFrame gaya ng makikita sa output. Kino-convert ng nakaraang script ang aming XLSX file sa CSV at gumagawa ng 'salary.csv' na file sa kasalukuyang direktoryo.

Halimbawa 2: Pag-convert ng XLSX File (na may Maramihang Sheet) sa CSV

Sa sumusunod na halimbawa, una naming binasa ang mga pangalan ng sheet ng Excel file. Ang mga pangalan ng indibidwal na mga sheet ay i-loop at ise-save bilang mga natatanging CSV file. Ang script ay nagse-save ng mga CSV sa parehong lokasyon.

Gumagamit kami ng sample na XLSX file na mayroong dalawa o higit pang worksheet o spreadsheet.

Tulad ng makikita, ang aming XLSX file ay binubuo ng dalawang sheet (sheet1 at sheet2). Ngayon, sumulat kami ng code upang i-convert ang XLSX file na ito sa CSV.

Output:

Matagumpay na na-convert ng script ang XLSX file na may dalawang sheet sa isang CSV file na may isang sheet.

Halimbawa 3: Pag-convert ng Maramihang XLSX File sa Hiwalay na CSV Files

Isaalang-alang ang isang senaryo kung saan kailangan mong i-convert ang ilang mga Excel file sa iyong gumaganang direktoryo sa CSV. Maaari mong gamitin ang pamamaraang ito. Magsisimula tayo sa pag-aakalang ang bawat file ay naglalaman lamang ng isang sheet. Pagkatapos, pinalawak namin ang aming paraan upang mahawakan ang maramihang mga file at ilang mga sheet. Ang Python code na sumusunod ay gumagamit ng glob standard module. Tinutugma namin ang mga path ng file gamit ang mga pattern sa Glob. Tumutugma ito sa lahat ng file na may extension na .xlsx sa gumaganang direktoryo. Pagkatapos nito, bumuo kami ng function na nagbabasa ng mga Excel file at nagse-save sa kanila bilang mga CSV file. Tinatawag namin ang function na ito sa bawat landas ng file na matatagpuan.

Kino-convert ng nakaraang script na ito ang lahat ng xlsx file sa kasalukuyang direktoryo sa mga CSV file.

Ngayon, kino-convert namin ang mga XLSX file na may maraming spreadsheet sa CSV. Ito ay malamang na ang mahirap na bahagi. Tatlong Excel file ang nasa aming working directory. Gayundin, ang ilan sa mga ito ay binubuo ng higit sa isang sheet. Layunin naming:

  1. Lumikha ng direktoryo para sa bawat spreadsheet file,
  2. I-convert ang mga excel file sheet sa CSV at dapat silang itago sa bagong likhang direktoryo.

Kino-convert ng script ang XLSX na may isa at maramihang mga sheet sa magkahiwalay na CSV file at iimbak ang mga ito sa mga bagong direktoryo na may parehong pangalan.

Upang makuha ang bawat Excel file na matatagpuan sa kasalukuyang direktoryo, ginagamit ang glob function. Pagkatapos nito, ang mga folder ay nilikha para sa bawat XLSX file gamit ang os.mkdir function. Ang isang CSV file ay ginawa para sa bawat sheet sa loob ng bagong direktoryo sa pamamagitan ng pag-loop sa pangalan ng sheet.

Paraan 2: Pag-convert ng XLSX sa CSV Gamit ang Openpyxl at CSV Module

Sa paraang ito, gagamitin namin ang mga module ng openpyxl at CSV para i-convert ang mga XLSX file sa CSV. Upang basahin at isulat ang 2010 xlsx, xlsm, xltx, at xltm file, maaaring gamitin ang Python module openpyxl. Kasama sa CSV module ang mga klase na nagbibigay-daan sa pagbabasa at pagsulat ng CSV-formatted tabular data.

Upang basahin o i-load ang aming xlsx file, ginagamit namin ang function na load_workbook() ng module ng openpyxl. Magagamit mo ang function na ito kung kailangan mong magsulat o magbasa ng umiiral nang XLSX/Excel file sa Python. Pagkatapos ng activation ng excel, ginagamit namin ang csv.writer() function para gawin ang aming CSV file. Pagkatapos, ang for-loop ay ginagamit upang iimbak ang data sa mga cell ng data ng CSV file. Kino-convert namin ang aming example.xlsx file sa myfile.csv gaya ng nakikita sa sumusunod na larawan:

Konklusyon

Sa tutorial na ito, binigyan ka namin ng maikling panimula sa mga XLSX file at CSV file. Ipinaliwanag namin ang mga pangunahing pagkakaiba sa pagitan ng parehong mga format ng file. Tinalakay namin ang dalawang pamamaraan na may maraming halimbawa upang ituro kung paano mako-convert ang mga XLSX file na may isa o maramihang sheet sa mga CSV file. Nagpatupad kami ng isang halimbawa upang i-convert ang maraming XLSX file sa mga CSV file nang sabay-sabay. Maaari itong maging simple o mahirap i-convert ang data mula sa Excel patungo sa CSV. Kung mayroon ka lamang isang file na may maliit na bilang ng mga sheet, ito ay simple. Ngunit kung hindi, maaari itong maging mahirap.