Какво е 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 файла са в нашата работна директория. Освен това някои от тях се състоят от повече от един лист. Ние целим:
- Създайте директория за всеки файл с електронна таблица,
- Конвертирайте файловите листове на 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 може да бъде просто или трудно. Ако имате само един файл с малък брой листове, това е просто. Но ако не, може да е трудно.