Я создаю систему электронной почты, в которой пользователь загружает CSV-файл, содержащий заголовки, такие как электронная почта, имя, название компании. Строки содержат всю информацию о различных компаниях.
Затем программа перебирает строки CSV и отправляет их по электронной почте, содержащейся в CSV.
Я хочу внедрить систему шорткодов, аналогичную системе WordPress.
Вот как скрипт Python будет интерпретировать шорткоды:
Name: [Name]
Subject: Proposal for [company-name]
Message:
Dear [name],
...
...
Программа должна динамически загружать CSV и интерпретировать короткие коды из CSV.
Мне нужен совет, как это сделать. Спасибо!






Я не уверен, почему форматирование строк не решает эту проблему напрямую, но если вам нужен сложный HTML в электронной почте или вы думаете об абстрагировании шаблонов от жесткого кодирования, я рекомендую не изобретать велосипед — если вы используя Python, я бы сказал, просто используйте шаблоны Jinja2, смешанные с разбором CSV, чтобы заполнить шаблон
from __future__ import print_function
from jinja2 import Template
import csv
try:
from StringIO import StringIO
except:
from io import StringIO
templatestr = '''Name: {{name}}
Subject: Proposal for {{company_name}}
Message:
Dear {{name}},...
'''
rawcsv = StringIO('''nobody,company1
somebody,company2
''')
for row in csv.reader(rawcsv):
print('~~~~~~~ {} ~~~~~~~~'.format(row))
name, company_name = row
result = Template(templatestr).render(name=name, company_name=company_name)
print(result)
(отредактировано для добавления образца CSV)
Какой у вас вопрос специфический?