В повседневной работе с данными Excel и CSV — это два наиболее часто используемых формата хранения данных, и необходимость их взаимного преобразования встречается повсеместно. Будь то аналитик данных, которому нужно импортировать CSV в Excel для визуализации, или разработчик, которому необходимо экспортировать данные Excel в CSV для пакетной обработки, ручное преобразование зачастую занимает много времени, требует усилий и подвержено ошибкам. К счастью, благодаря мощным возможностям Python мы можем легко автоматизировать этот процесс.
В этой статье мы подробно рассмотрим, как с помощью библиотеки Free Spire.XLS for Python эффективно и точно реализовать взаимное преобразование файлов Excel и CSV.
Free Spire.XLS — это профессиональная библиотека Python, предназначенная для создания, чтения, редактирования, преобразования и печати файлов Excel. Она поддерживает множество форматов (XLS, XLSX, XLSB, XLSM, CSV, ODS и др.) и предоставляет богатый API для работы с ячейками, строками, столбцами, листами, диаграммами, изображениями, формулами и другими элементами Excel.
Чтобы начать использовать Spire.XLS, достаточно установить его через pip:
После установки библиотеку можно импортировать и использовать в Python-проектах.
Конвертация Excel в CSV с помощью Python
Преобразование Excel в CSV — это распространенная задача при экспорте данных. С библиотекой Spire.XLS этот процесс становится очень простым.
Создать объект Workbook: инициализировать объект Workbook для загрузки Excel-файла.
Загрузить Excel-файл: использовать метод LoadFromFile() для открытия нужного файла.
Выбрать рабочий лист: получить рабочий лист, который нужно конвертировать (по умолчанию — первый).
Сохранить в формате CSV: вызвать метод SaveToFile() у рабочего листа, указав путь к CSV, разделитель и кодировку.
Освободить ресурсы: использовать 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 также позволяет легко выполнить эту задачу.
Создать объект Workbook: инициализировать объект Workbook.
Загрузить CSV-файл: использовать метод LoadFromFile() для загрузки целевого CSV-файла, указав разделитель и начальные строку/столбец.
Сохранить в формате Excel: вызвать метод SaveToFile(), указав путь к выходному Excel-файлу и его версию.
Освободить ресурсы: вызвать метод 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 значительно упрощает задачу.