XLSX в CSV на Python

Xlsx V Csv Na Python



В последние годы Python стал одним из доминирующих языков программирования. Сообщество Python значительно расширилось в результате популярности и полезности Python. В этой статье мы подробно расскажем о том, как использовать Python для преобразования XLSX в CSV. Мы знаем, что файлы Excel часто используются для проведения финансового анализа, организации данных, ввода данных, учета, управления данными, создания диаграмм и графиков и т. д. Однако мы в основном предпочитаем использовать файлы CSV для импорта и экспорта данных. Один из подходов заключается в передаче структурированных данных с помощью простого текстового файла.

Что такое файл Xslx?

При создании электронных таблиц в последних версиях Excel Microsoft использует файл XLSX в качестве типа файла по умолчанию. Подобно типу файлов Word DOCX, мы можем открывать файлы 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 и т. д. Пакет Python Pandas позволяет манипулировать и анализировать данные. Pandas — известная библиотека среди программистов на Python. Файлы Excel можно читать и записывать с помощью пакета Python, известного как Openpyxl. Мы не будем иметь дело с этой библиотекой напрямую. Панды вместо этого используют 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 состоит из двух листов (лист1 и лист2). Теперь мы напишем код для преобразования этого файла 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 может быть простым или сложным. Если у вас есть только один файл с небольшим количеством листов, это просто. Но если нет, это может быть сложно.