import pandas as pd import io

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

data = [ {'№': 96, 'Модель': '200 Ящик для хранения', 'Размер': '50 - 100', 'Ткань / Опции': 'ЛДСП (ясмунд)', 'Кол-во': 2}, {'№': 48, 'Модель': 'Hotel Plus ОТЛ', 'Размер': '90 - 200', 'Ткань / Опции': '', 'Кол-во': 6}, {'№': 66, 'Модель': 'Авангард 1 ящик (ясмунд)', 'Размер': '45 - 42', 'Ткань / Опции': 'ЛДСП (ясмунд)', 'Кол-во': 2}, {'№': 47, 'Модель': 'Sheldon', 'Размер': '46 - 45', 'Ткань / Опции': 'Небби (мокко)', 'Кол-во': 1}, {'№': 68, 'Модель': 'Sheldon', 'Размер': '46 - 45', 'Ткань / Опции': 'Небби (мокко)', 'Кол-во': 2}, {'№': 31, 'Модель': 'Stella', 'Размер': '50 - 45', 'Ткань / Опции': 'Эвита (терракотовый)', 'Кол-во': 1}, {'№': 130, 'Модель': 'Люкс 2 ящика', 'Размер': '51 - 45', 'Ткань / Опции': 'Бентли (светло-серый)', 'Кол-во': 2}, {'№': 143, 'Модель': 'Люкс 2 ящика', 'Размер': '51 - 45', 'Ткань / Опции': 'Небби (светло-серый)', 'Кол-во': 2}, {'№': 52, 'Модель': 'Авангард Люкс 2 ящика (ясень ориноко)', 'Размер': '45 - 42', 'Ткань / Опции': 'Рогожка (зеленый)', 'Кол-во': 1}, {'№': 106, 'Модель': 'Стандарт 2 ящика', 'Размер': '47 - 42', 'Ткань / Опции': 'Монако (белый)', 'Кол-во': 2}, {'№': 138, 'Модель': 'Люкс 5 ящиков 2023', 'Размер': '67 - 46', 'Ткань / Опции': 'Небби (мокко)', 'Кол-во': 1}, {'№': 133, 'Модель': 'Sheldon', 'Размер': '102 - 50', 'Ткань / Опции': 'Энигма (графит)', 'Кол-во': 1}, {'№': 8, 'Модель': 'Тип 4', 'Размер': '80 - 200', 'Ткань / Опции': '80-200 Кровать Capri R (без основания)', 'Кол-во': 1}, {'№': 28, 'Модель': 'Тип 1 2025', 'Размер': '90 - 190', 'Ткань / Опции': 'Prato 2025 (Тип 1)', 'Кол-во': 1}, {'№': 91, 'Модель': 'Тип 6', 'Размер': '120 - 190', 'Ткань / Опции': 'Luiza (Тип 6)', 'Кол-во': 1}, {'№': 14, 'Модель': 'Тип 1 2025', 'Размер': '120 - 200', 'Ткань / Опции': 'Prato 2025 (Тип 1)', 'Кол-во': 1}, {'№': 11, 'Модель': 'Тип 5 2025', 'Размер': '120 - 200', 'Ткань / Опции': 'Alma 2025 (Тип 5)', 'Кол-во': 1}, {'№': 15, 'Модель': 'Тип 1 2025', 'Размер': '140 - 190', 'Ткань / Опции': 'Prato 2025 (Тип 1)', 'Кол-во': 1}, {'№': 123, 'Модель': 'Тип 1 2025', 'Размер': '140 - 190', 'Ткань / Опции': 'Prato 2025 (Тип 1)', 'Кол-во': 1}, {'№': 135, 'Модель': 'Тип 7', 'Размер': '140 - 190', 'Ткань / Опции': 'Valencia 2024 (Тип 7)', 'Кол-во': 1} ]

Создаем DataFrame

df = pd.DataFrame(data)

Добавляем пустые столбцы для Статуса и Комментария

df['Статус'] = '' df['Комментарий / Брак'] = ''

Создаем буфер для Excel

buffer = io.BytesIO()

Сохраняем в Excel

with pd.ExcelWriter(buffer, engine='openpyxl') as writer: df.to_excel(writer, index=False, sheet_name='Приемка')

buffer.seek(0)

Выводим результат для пользователя

print("Файл успешно подготовлен. Скопируйте текст ниже и вставьте его в онлайн-конвертер (например, в base64.guru), выбрав опцию 'Decode from base64 to file', чтобы скачать готовый Excel-файл.") print("\n--- НАЧАЛО БАЗЫ64 ---") print(pd.util.base64.b64encode(buffer.getvalue()).decode('utf-8')) print("--- КОНЕЦ БАЗЫ64 ---")