Создайте «шаблон», затем заполните заполнители {name}
, используя значения, хранящиеся в словаре.
text="""Dear {name},
Thank you for participating in our study on working memory and musical training!
You are receiving this email because you said that you were interested in receiving your results of the tests that you took on your musical and non-musical abilities.
Your results are below:
Test 1: {score1}
Test 2: {score2}
Test 3: {score3}
Test 4: {score4}
Test 5: {score5}
Test 6: {score6}
Thanks again from all of our research team.
Seb""".format(**score_dict)`
Для каждой строки вашего CSV-файла score_dict
будет чем-токак {score1:7, score2:9, ...}
.
PS: вы также можете сделать что-то подобное с заполнителями $ с помощью какого-либо метода, включенного в модуль string
, но я думаю, что это немного устарело.Кстати, при использовании многострочных строк (с тремя кавычками) вам не нужно явно включать новые строки (если вы не используете «необработанные строки», такие как r"""my string"""
), просто оставляйте пустую строку.
EDIT
Предполагая, что у вас есть 4 балла, называемых «Score1, Score2, Score3, Score4 затем» (ср. https://docs.python.org/3/library/csv.html#index-3) для каждой строки, выполните это.
name,score1,score2,score3,score4=[col for col in row.split(';') if col!='']
Часть if col!=''
заботится отрейлинг ;
если есть.