1

Как использовать Python для конвертации форматов Excel и CSV

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

В этой статье мы подробно рассмотрим, как с помощью библиотеки Free Spire.XLS for Python эффективно и точно реализовать взаимное преобразование файлов Excel и CSV.

Обзор и установка Free Spire.XLS for Python

Free Spire.XLS — это профессиональная библиотека Python, предназначенная для создания, чтения, редактирования, преобразования и печати файлов Excel. Она поддерживает множество форматов (XLS, XLSX, XLSB, XLSM, CSV, ODS и др.) и предоставляет богатый API для работы с ячейками, строками, столбцами, листами, диаграммами, изображениями, формулами и другими элементами Excel.

Команда для установки:

Чтобы начать использовать Spire.XLS, достаточно установить его через pip:

pip install spire.xls.free

После установки библиотеку можно импортировать и использовать в Python-проектах.

Конвертация Excel в CSV с помощью Python

Преобразование Excel в CSV — это распространенная задача при экспорте данных. С библиотекой Spire.XLS этот процесс становится очень простым.

Шаги конвертации:

  1. Создать объект Workbook: инициализировать объект Workbook для загрузки Excel-файла.

  2. Загрузить Excel-файл: использовать метод LoadFromFile() для открытия нужного файла.

  3. Выбрать рабочий лист: получить рабочий лист, который нужно конвертировать (по умолчанию — первый).

  4. Сохранить в формате CSV: вызвать метод SaveToFile() у рабочего листа, указав путь к CSV, разделитель и кодировку.

  5. Освободить ресурсы: использовать Dispose() для освобождения ресурсов Workbook.

Пример кода:

from Spire.Xls import *

from System.Text import Encoding

# Создаем объект Workbook

workbook = Workbook()

# Загружаем Excel-файл

workbook.LoadFromFile("input.xlsx")

# Получаем первый рабочий лист

worksheet = workbook.Worksheets[0]

# Сохраняем лист в формате CSV

# Аргументы: путь к файлу, разделитель (например, запятая), кодировка

worksheet.SaveToFile("output.csv", ",", Encoding.get_UTF8())

# Освобождаем ресурсы

workbook.Dispose()

print("Excel-файл успешно преобразован в CSV: output.csv")

В приведённом примере input.xlsx — исходный Excel-файл, а output.csv — полученный CSV. В качестве разделителя используется запятая, а кодировка UTF-8 гарантирует совместимость между разными системами.

Конвертация CSV в Excel с помощью Python

Обратное преобразование CSV в Excel часто требуется для удобства анализа, форматирования или совместного использования данных. Free Spire.XLS также позволяет легко выполнить эту задачу.

Шаги конвертации:

  1. Создать объект Workbook: инициализировать объект Workbook.

  2. Загрузить CSV-файл: использовать метод LoadFromFile() для загрузки целевого CSV-файла, указав разделитель и начальные строку/столбец.

  3. Сохранить в формате Excel: вызвать метод SaveToFile(), указав путь к выходному Excel-файлу и его версию.

  4. Освободить ресурсы: вызвать метод Dispose() для освобождения ресурсов Workbook.

Пример кода:

from Spire.Xls import *

# Создаем объект Workbook

workbook = Workbook()

# Загружаем CSV-файл

# Аргументы: путь к файлу, разделитель, первая строка данных (с 1), первый столбец (с 1)

workbook.LoadFromFile("input.csv", ",", 1, 1)

# Сохраняем в формате XLSX

# Аргументы: путь к файлу, версия Excel (например, Version2016)

workbook.SaveToFile("output.xlsx", ExcelVersion.Version2016)

# Освобождаем ресурсы

workbook.Dispose()

print("CSV-файл успешно преобразован в Excel: output.xlsx")

В данном примере input.csv — исходный файл, а output.xlsx — результат конвертации. Параметры 1, 1 метода LoadFromFile означают, что данные загружаются начиная с первой строки и первого столбца. Это удобно, если в CSV присутствует строка заголовков. ExcelVersion.Version2016 задаёт версию выходного Excel-файла.


Заключение

Благодаря приведённым пояснениям и примерам кода вы узнали, как с помощью Free Spire.XLS for Python быстро и эффективно выполнять конвертацию файлов Excel и CSV. Независимо от того, нужно ли экспортировать Excel в CSV для лёгкой обработки или импортировать CSV в Excel для углублённого анализа и визуализации, автоматизация на Python вместе с профессиональными возможностями Spire.XLS for Python значительно упрощает задачу.