Преобразуйте вопросный текст: Можете ли вы, пожалуйста, создать функцию export_check(text) в лицее Яндекс, которая

  • 3
Преобразуйте вопросный текст:

Можете ли вы, пожалуйста, создать функцию export_check(text) в лицее Яндекс, которая принимает текст в следующем формате: каждая строка содержит название товара (строка), цену за единицу товара (десятичное число) и количество единиц товара (целое число) (значения разделены табуляцией). Ваша функция должна обработать данные и создать Excel-документ с именем res.xlsx, в котором будут содержаться следующие столбцы: "товар", "цена за единицу товара", "количество товара" и "общая стоимость товара" (названия столбцов не нужно выводить). Формула, рассчитывающая общую стоимость товара, должна быть помещена в столбец "общая стоимость товара".
Пётр
63
Конечно! Вот функция `export_check(text)`, которая выполняет задание:

python
import openpyxl

def export_check(text):
# Создаем новый документ Excel
workbook = openpyxl.Workbook()
sheet = workbook.active

# Разделяем текст на строки
rows = text.split("\n")

# Удаляем пустые строки
rows = [row for row in rows if row != ""]

# Перебираем строки и заполняем таблицу в Excel
for i, row in enumerate(rows):
# Разделяем строку на название товара, цену и количество
item, price, quantity = row.split("\t")

# Переводим цену и количество в числовой формат
price = float(price)
quantity = int(quantity)

# Рассчитываем общую стоимость товара
total_cost = price * quantity

# Добавляем данные в таблицу
sheet.cell(row=i+2, column=1).value = item
sheet.cell(row=i+2, column=2).value = price
sheet.cell(row=i+2, column=3).value = quantity
sheet.cell(row=i+2, column=4).value = total_cost

# Сохраняем документ
workbook.save("res.xlsx")


Вызовите эту функцию, передав ей текст в нужном формате, и она создаст Excel-документ с именем "res.xlsx", содержащий столбцы "товар", "цена за единицу товара", "количество товара" и "общая стоимость товара".

Например, вызовите функцию следующим образом:

python
text = "Товар 1\t10.5\t2\nТовар 2\t5.99\t3\nТовар 3\t8.75\t4"
export_check(text)


Это создаст файл "res.xlsx" с результатами обработки переданного текста.