python_rag_system/lesson_12/home_task/task41.py
2025-10-27 14:38:51 +03:00

40 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# todo: Создайте иерархию классов для экспорта данных в разные форматы.
# Требования:
# Абстрактный базовый класс DataExporter:
#
# Методы:
# export(self, data) - абстрактный метод
# get_format_name(self) - возвращает название формата
# validate_data(self, data) - общий метод проверки данных (не пустые ли)
#
# Конкретные реализации:
# JSONExporter:
# Экспортирует данные в JSON-формат
# Добавляет поле "export_timestamp" с текущим временем
#
# CSVExporter:
# Экспортирует данные в CSV (если data - список словарей)
# Автоматически определяет заголовки из ключей первого элемента
#
# XMLExporter:
# Создает XML структуру с корневым элементом <report>
# HTMLExporter (дополнительно):
# Создает красивую HTML-таблицу с CSS-стилями
# Этот код должен работать после реализации:
sales_data = [
{"product": "Laptop", "price": 1000, "quantity": 2},
{"product": "Mouse", "price": 50, "quantity": 10}
]
exporters = [
JSONExporter(),
CSVExporter(),
XMLExporter()
]
for exporter in exporters:
print(f"Формат: {exporter.get_format_name()}")
exporter.export(sales_data)
print("---")