XLSX към CSV в Python

Xlsx K M Csv V Python



През последните години Python се издигна като един от доминиращите езици за програмиране. Общността на Python значително се разшири в резултат на популярността и полезността на Python. В тази статия ще разгледаме подробно как да използвате Python за конвертиране на XLSX в CSV. Наясно сме, че excel файловете често се използват за извършване на финансов анализ, организиране на данни, въвеждане на данни, счетоводство, управление на данни, създаване на диаграми и графики и т.н. Въпреки това, ние предпочитаме най-вече да използваме CSV файлове за импортиране и експортиране на данни. Единият подход е да прехвърлите структурираните данни с помощта на обикновен текстов файл.

Какво е Xslx файл?

Когато създава електронни таблици в най-новите версии на Excel, Microsoft използва XLSX файл като тип файл по подразбиране. Подобно на файловия тип DOCX на Word, можем да отворим XLSX файловете с помощта на различни приложения/програми.

Какво е CSV файл?

Файловият формат CSV е това, което можем да използваме за съхраняване на стойностите на табличните данни в електронни таблици и бази данни. Табличните данни, текст или текст, се съхраняват като обикновен текст в CSV файл. Запис в CSV файла е стойността на данните, съхранявана на всеки ред от файла. Всеки запис може да има повече от едно поле, което е разделено със запетаи.







Основни разлики между XLSX и CSV файлове

Потребителите често използват CSV и XLSX взаимозаменяемо и обикновено не са наясно с разликите между тях, какви са основните им характеристики и как работят. Той служи само като източник на информация за потребителя. Почти всеки бизнес и корпорация използват и двете, за да помогнат на потребителите при управлението, актуализирането и съхраняването на данните за потребителя. Следват някои ключови разлики между XLSX и CSV файловете, които трябва да знаете:



  • Форматът CSV записва таблични данни в текстов файл с разделител с разширение .csv. Докато excel или XLSX файлът е електронна таблица, която съхранява файлове в собствения си формат, т.е. xls или XLSX.
  • Файловете на Excel са двоични файлове, които съдържат данните на всеки работен лист в работна книга. Докато CSV е обикновен и прост текстов формат с поредица от стойности на данни, разделени със запетаи.
  • Операциите с данни не могат да се извършват върху CSV файлове. Те обаче могат да се извършват върху Excel файлове.
  • CSV файловете са по-бързи и използват по-малко памет от XLSX файловете. Excel обаче използва повече памет при импортиране на данните.
  • Ако сравним CSV с Excel, можем да отворим CSV файловете във всеки текстов редактор на Windows, докато файловете на Excel не могат.

Как може XLSX файл да бъде преобразуван в CSV с помощта на Python?

XLSX файл може да се трансформира в CSV файл в Python, като се използват различни методи. Python включва различни модули и функции, които могат да ни помогнат да изпълним тази задача. Тук ще разгледаме няколко метода, които могат да се използват за конвертиране на XLSX файлове в CSV файлове в Python.



Предпоставки за извършване на преобразуването на Excel в CSV

Инсталирането на изискванията е първата стъпка. Ние използваме модули като комбиниране на Pandas, CSV и Openpyxl и т.н. в този урок. Пакетът Pandas на Python позволява манипулиране и анализ на данни. Pandas е добре позната библиотека сред програмистите на Python. Excel файловете могат да се четат и записват с помощта на пакета Python, известен като Openpyxl. Няма да се занимаваме директно с тази библиотека. Вместо това Pandas използва вътрешно Openpyxl.





Използвайки хранилището на PyPI, можем да инсталираме и двата пакета:

Метод 1: Конвертиране на XLSX в CSV с помощта на модула Pandas

Пример 1: Конвертиране на един XLSX файл в CSV



Pandas е модул с отворен код, създаден за езика за програмиране Python за манипулиране и анализиране на данните. За да работи с времеви редове и числови таблици, Pandas предоставя разнообразна функционалност и функции. С помощта на pandas могат да се четат, филтрират и пренареждат както малки, така и огромни набори от данни. И резултатите могат да бъдат произведени в различни формати като Excel, JSON и CSV. Използваме метода read_excel() на Pandas, за да прочетем файл в Excel, и метода to_csv(), за да трансформираме DataFrame в CSV файл.

Отпечатваме нашия .csv файл като DataFrame, както може да се види в изхода. Предишният скрипт преобразува нашия XLSX файл в CSV и създава файл “salary.csv” в текущата директория.

Пример 2: Конвертиране на XLSX файл (с няколко листа) в CSV

В примера, който следва, първо четем имената на листовете на файла на Excel. След това имената на отделните листове се преглеждат и записват като отделни CSV файлове. Скриптът записва CSV файлове на същото място.

Използваме примерен XLSX файл с два или повече работни листа или електронни таблици.

Както може да се види, нашият XLSX файл се състои от два листа (sheet1 и sheet2). Сега пишем код за преобразуване на този XLSX файл в CSV.

Изход:

Скриптът успешно преобразува XLSX файла с два листа в един CSV файл с един лист.

Пример 3: Преобразуване на множество XLSX файлове в отделни CSV файлове

Помислете за сценарий, при който трябва да конвертирате няколко Excel файла във вашата работна директория в CSV. Можете да използвате този метод. Започваме, като приемем, че всеки файл съдържа само един лист. След това разширяваме нашия метод за обработка на множество файлове и няколко листа. Кодът на Python, който следва, използва стандартния модул glob. Съпоставяме пътищата на файловете, използвайки шаблони с Glob. Съвпада с всички файлове с разширение .xlsx в работната директория. След това разработваме функция, която чете Excel файловете и ги записва като CSV файлове. Извикваме тази функция за всеки намерен път към файла.

Този предишен скрипт преобразува всички xlsx файлове в текущата директория в CSV файлове.

Сега конвертираме XLSX файловете с множество електронни таблици в CSV. Това най-вероятно е трудната част. Три Excel файла са в нашата работна директория. Освен това някои от тях се състоят от повече от един лист. Ние целим:

  1. Създайте директория за всеки файл с електронна таблица,
  2. Конвертирайте файловите листове на Excel в CSV и те трябва да се съхраняват в новосъздадената директория.

Скриптът преобразува XLSX с единични и множество листове в отделни CSV файлове и ги съхранява в нови директории със същото име.

За извличане на всеки Excel файл, намиращ се в текущата директория, се използва функцията glob. След това се създават папки за всеки XLSX файл с помощта на функцията os.mkdir. След това се създава CSV файл за всеки лист в новата директория чрез преминаване през името на листа.

Метод 2: Конвертиране на XLSX в CSV с помощта на Openpyxl и CSV модули

В този метод ще използваме модулите openpyxl и CSV, за да конвертираме XLSX файловете в CSV. За четене и запис на 2010 xlsx, xlsm, xltx и xltm файлове може да се използва Python модулът openpyxl. CSV модулът включва класове, които позволяват четене и писане на таблични данни, форматирани в CSV.

За да прочетем или заредим нашия xlsx файл, ние използваме функцията load_workbook() на модула openpyxl. Можете да използвате тази функция, ако трябва да напишете или прочетете съществуващ XLSX/Excel файл в Python. След активирането на excel използваме функцията csv.writer(), за да създадем нашия CSV файл. След това for-цикълът се използва за съхраняване на данните в клетките с данни на CSV файла. Преобразуваме нашия файл example.xlsx в myfile.csv, както се вижда на следното изображение:

Заключение

В този урок ви дадохме кратко въведение в XLSX файловете и CSV файловете. Обяснихме основните разлики между двата файлови формата. Обсъдихме два метода с множество примери, за да научим как XLSX файловете с един или няколко листа могат да бъдат конвертирани в CSV файлове. Реализирахме пример за конвертиране на множество XLSX файлове в CSV файлове едновременно. Преобразуването на данните от Excel в CSV може да бъде просто или трудно. Ако имате само един файл с малък брой листове, това е просто. Но ако не, може да е трудно.