Как динамически генерировать HTML-строку, используя pandas DataFrame в Python 3? - PullRequest
0 голосов
/ 05 июня 2019

У меня есть следующий столбец данных:

print(df['keyword'])

                   keyword
1    ['aloe gel', 'how to plant aloe']
2    ['avocado oil hair', 'best avocado oil']
3    ['2019 hairstyles']
4    ['peel off mask', 'charcoal face mask', 'charcoal powder']
5    ['nyx eyebrow pencil', 'eyebrow waxing']
6    ['matcha green']
7    ['hair growth oil']
8    ['organic coconut milk', 'organic milk', 'organic compounds']
9    ['apple vinegar cider']

Я бы хотел передать каждую строку питона (например, гель алоэ, как сажать алоэ и т. Д.) В одну длинную строку HTML.

Я ожидаю, что результат будет выглядеть примерно так в HTML:

 <p style="text-align: center;"><strong>
        <span style="color: rgb(40, 50, 78);">aloe gel.</span>
        <span style="color: rgb(184, 49, 47);">how to plant aloe.</span> 
        <span style="color: rgb(40, 50, 78);">avocado oil hair.</span></strong>
    </p>

и, таким образом, будет выглядеть примерно так:

гель алоэ.как посадить алоэ.масло авокадо.

Я считаю, что мне нужно использовать цикл for для добавления каждого ключевого слова в строку HTML, а также цикл for для итерации по цветам.

Любойидеи?

Спасибо.

1 Ответ

2 голосов
/ 05 июня 2019

Я считаю, что это должно делать то, что вы ищете.Если нет, не могли бы вы уточнить?

html = '<p style="text-align: center;"><strong>'

colors = ['40, 50, 78', '184, 49, 47']
colorIdx = 0
#iterate through rows of dataframe
for idx, row in df.iterrows():
    #iterate through values in keyword column
    for strVal in row['keyword']:
        #add the span to the html string
        html += '<span style="color: rgb({});">{}</span>'.format(colors[colorIdx], strVal)
        #switch the colorIdx to switch back and forth between colors
        colorIdx = 0 if colorIdx > 1 else 1


html += '</strong></p>'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...