Николай Карп
Новый пользователь
- Сообщения
- 6
- Реакции
- 0
Привет.
А файл excel то можно увидеть?
from PIL import Image, ImageDraw
import os
import xlrd
# Укажите внутри кавычек путь к папке с фото и файлом Excel
path_ = r'F:\загрузки\Анонс 21.01.21'
# file.xlsx - имя вашего Excel файла вместе с расширением
bk = xlrd.open_workbook(path_+r'\file.xlsx')
sh = bk.sheet_by_index(0)
for i in range(sh.nrows):
lst_ = sh.row_values(i, 0)
if isinstance(lst_[0], float):
name = path_+'\\'+str(int(lst_[0]))+'.jpg'
else:
name = path_+'\\'+str(lst_[0])+'.jpg'
if os.path.isfile(name):
img = Image.open(name)
imgDrawer = ImageDraw.Draw(img)
# Цифры - это расположение текста по оси Х и У на картинке
imgDrawer.text((10, 20), str(lst_[1]))
img.save(name)
А как насчёт сделать это в виде html страницы, к примеру фото (одинакового размера) в три столбика на странице, а поверх фото пишется текст (также исходя из файла екселя и названия фото). Если возможно с последующей выгрузкой фото в папку или просто печать страницы в pdfВот вам рабочая программа на Python
Потребуется установить сам Python (лучше версии 3.7* или 3.8) и библиотеки PIL, os и xlrd
Там где подписан комментарий - вставьте свои данные.
Вот код:
Python:from PIL import Image, ImageDraw import os import xlrd # Укажите внутри кавычек путь к папке с фото и файлом Excel path_ = r'F:\загрузки\Анонс 21.01.21' # file.xlsx - имя вашего Excel файла вместе с расширением bk = xlrd.open_workbook(path_+r'\file.xlsx') sh = bk.sheet_by_index(0) for i in range(sh.nrows): lst_ = sh.row_values(i, 0) if isinstance(lst_[0], float): name = path_+'\\'+str(int(lst_[0]))+'.jpg' else: name = path_+'\\'+str(lst_[0])+'.jpg' if os.path.isfile(name): img = Image.open(name) imgDrawer = ImageDraw.Draw(img) # Цифры - это расположение текста по оси Х и У на картинке imgDrawer.text((10, 20), str(lst_[1])) img.save(name)
Могу упаковать в стандартный EXE файл, но придется всегда подстраиваться под программу.
Ну алгоритм примерно такой - создаём пустой эскиз, размещаем на нем данные из эксель, только теперь не только текст, а несколько изображений.
Верно понимаю?
1) Считаю, что вы вообще неправильно подходите к задаче. Надо не прямо на фото рисовать цену если вам нужен html, а просто средствами сайта выводить цену поверх. Если потом поменяется цена или скидка или фото, то не придётся переделывать.Вставил наглядно две картинки до и после. Первая у меня есть готовая и на неё нужно перенести данные из екселя (или вручную записать для каждой фотографии через какую-то программу) чтобы получилась вторая фотография.
В екселе записаны: названия фото, цена 1, цена 2, процент скидки.
Выше написаноregist, я вообще до твоего поста думал что ТС просто картинки хочет...типа ценников что то.
А если на сайт со стандартным движком, то там наверняка даже плагины подходящие есть и уже выдумывать не надо. Если что-то простенькое или самопис, то тогда тоже заменить эксел на базу данных и оттуда подтягивать и выводить поверх фото. Ну и потом, имхо, чем с экселом работать (для чего должен быть установленный он на компе) уже лучше с CSV в который можно сохранить из экселя если что.А как насчёт сделать это в виде html страницы, к примеру фото (одинакового размера) в три столбика на странице, а поверх фото пишется текст (также исходя из файла екселя и названия фото). Если возможно с последующей выгрузкой фото в папку или просто печать страницы в pdf
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?