Форматирование Excel стало проще: преобразование ячеек в текст с помощью openpyxl

Таблицы Excel — мощный инструмент для организации и анализа данных. Однако иногда мы сталкиваемся с ситуациями, когда нам необходимо обрабатывать значения ячеек как обычный текст, игнорируя любые правила форматирования или вычисления. В этой статье блога мы рассмотрим, как это сделать с помощью библиотеки openpyxl в Python. Так что берите свой любимый текстовый редактор, запускайте код Python и приступайте!

Метод 1. Формат номера ячейки.
Один простой способ — изменить формат номера ячейки на «Текст». Этот метод гарантирует, что содержимое ячейки обрабатывается как строка, независимо от ее исходного формата. Давайте рассмотрим пример:

from openpyxl import load_workbook
from openpyxl.styles import numbers
# Load the Excel workbook
workbook = load_workbook('example.xlsx')
# Select the desired worksheet
worksheet = workbook['Sheet1']
# Access the cell and set the number format to text
cell = worksheet['A1']
cell.number_format = numbers.FORMAT_TEXT
# Print the cell value as text
print(cell.value)

Метод 2: явное приведение к строке.
Другой способ обработки значений ячеек как текста — явное преобразование их в строки. Этот метод гарантирует, что содержимое ячейки интерпретируется как обычный текст, даже если оно содержит числа или формулы. Вот пример:

from openpyxl import load_workbook
# Load the Excel workbook
workbook = load_workbook('example.xlsx')
# Select the desired worksheet
worksheet = workbook['Sheet1']
# Access the cell and cast its value to a string
cell = worksheet['A1']
cell_value_as_text = str(cell.value)
# Print the cell value as text
print(cell_value_as_text)

Метод 3. Сохранение ведущих нулей.
В некоторых случаях крайне важно сохранять ведущие нули в значениях ячеек, особенно при работе с идентификационными номерами или кодами. По умолчанию Excel удаляет ведущие нули, если для формата ячейки явно не установлено значение «Текст». Вот как этого можно добиться с помощью openpyxl:

from openpyxl import load_workbook
from openpyxl.styles import numbers
# Load the Excel workbook
workbook = load_workbook('example.xlsx')
# Select the desired worksheet
worksheet = workbook['Sheet1']
# Access the cell and set the number format to preserve leading zeros
cell = worksheet['A1']
cell.number_format = numbers.FORMAT_TEXT
# Print the cell value with leading zeros preserved
print(cell.value)

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

Помните: при работе с openpyxl всегда проверяйте, установлена ​​ли у вас библиотека, и импортируйте необходимые модули в начале вашего скрипта. Приятного программирования и манипулирования данными!