Создаем Excel-подобный файл с помощью Python

Python — мощный язык программирования с богатой экосистемой библиотек для работы с данными. Однако иногда может возникнуть необходимость создать файл, который можно легко открыть и отредактировать в Microsoft Excel, не используя сторонние библиотеки. Давайте рассмотрим, как можно создать Excel-подобный файл с границами, используя только встроенные модули Python.

Мы начнем с определения наших данных. Допустим, у нас есть набор данных в формате JSON, который мы хотим представить в виде Excel-подобной таблицы. Вот как это делается:


import json

# Данные в формате JSON 
json_data = [
    {"Name": "John", "Age": 30},
    {"Name": "Alice", "Age": 25}
]

Мы импортируем модуль json и определяем наши данные в формате JSON. Это может быть любой набор данных, который вы хотите представить в Excel-подобной форме.

Затем мы создаем таблицу HTML с границами и вставляем наши данные в нее:


# Создание HTML таблицы с отдельными границами
html_content = '<table style="border-collapse: collapse; border: 1px solid black;">n'
# Создание заголовочной строки таблицы
html_content += '  <tr>n'
for key in json_data[0].keys():
    html_content += f'    <th style="border: 1px solid black; padding: 4px;">{key}</th>n'
html_content += '  </tr>n'

# Создание строк данных таблицы
for item in json_data:
    html_content += '  <tr>n'
    for value in item.values():
        html_content += f'    <td style="border: 1px solid black; padding: 4px;">{value}</td>n'
    html_content += '  </tr>n'
html_content += '</table>'

Здесь мы используем HTML для создания таблицы и добавляем границы к ячейкам таблицы. Мы также добавляем данные из нашего JSON в таблицу.

Наконец, мы сохраняем это в виде файла с расширением .xls (хотя это фактически файл HTML) и можем открыть его в Excel:


# Указание имени Excel-подобного файла  (с расширением .xls)
excel_file = 'data.xls'

# Сохраняем HTML контент в Excel-подобный файл
with open(excel_file, 'w') as file:
    file.write(html_content)

print(f'Excel-подобный файл "{excel_file}" с границами создан.')

В итоге мы создаем файл data.xls, который можно легко открыть в Excel и увидеть таблицу с границами, основанную на наших данных JSON.

Этот способ предоставляет простой и быстрый способ создания Excel-подобных файлов с границами, используя только встроенные модули Python.

Однако стоит помнить, что это решение предоставляет только базовую функциональность и форматирование, и оно не может конкурировать с мощью и гибкостью настоящих Excel-файлов и библиотек для работы с ними, таких как openpyxl, xlrd, и xlsxwriter.

Источник