Как перенести список в HTML таблицу? - PullRequest
0 голосов
/ 25 мая 2019

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

Итак, у меня есть список с именем checked_list, который заполнен:

['"link of the picture"', 'title event', 'date event']

Я попытался сделать text1 и text2 затем .write() оба из них, и это работает.Я могу показать картинку.Но мне нужен цикл for для продолжения чтения всего индекса, чтобы я мог показать событие изображения, событие заголовка и событие даты.

Я пытался использовать text1, а затем text1 +=, чтобы написать весь HTMLи я попытался использовать text1 и text2, а затем объединить их, но я не могу найти способ использовать цикл for, поскольку он всегда говорит об ошибке синтаксиса.

Пример checked_list:

checked_list = ['"http://bneart.com/wp-content/uploads/2019/05/3fbf2374-5cb4-4229-a247-78c2582c5105-817x1024.jpg"', 'Lara Merrett: Flip side', '7th - 25th May'] -- > for 1 event

checked_list = ['"http://bneart.com/wp-content/uploads/2019/05/Foliage-and-Structure-black_small-1024x613.jpg"', 'Helen Wyatt: I Walk the Line', '11th May - 13th July', '"http://bneart.com/wp-content/uploads/2019/05/3fbf2374-5cb4-4229-a247-78c2582c5105-817x1024.jpg"', 'Lara Merrett: Flip side', '7th - 25th May'] -- > 2 events
def print_planner():
checked_list = []
index = 0
html_file = open(planner_file, "w")
text1 = '''
<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <table>
        <tr>
            <th>Entertainment List</th>
        </tr>
        <tr>           
        '''
text2 = "<td><img src=" + str(checked_list[index]) + ">" "</td></tr>"

'''
    </table>
</body>
</html>
'''
html_file.write(text1)
html_file.write(text2)
html_file.close()

Есть идеи, как мне объединить петлю внутри?Это либо с использованием только text1, либо с использованием text1 и text2.

Пока это работает, все в порядке.Если ты видишь картинку, я пока что могу ее сделать.Я хотел напечатать название и дату под ним.

1 Ответ

0 голосов
/ 25 мая 2019

Я думаю, это именно то, что вы хотите. Просто добавьте больше расширений изображений для вас в кортеж image_exts.

def print_planner():
    image_exts = ('.png', '.jpg', '.gif') # add valid image extensions for you
    checked_list = ['data1', 'data2', 'hi', 'picture1.png', 'picture2.png', 'picture3.jpg', 'I am python']
    checked_list = map(str, checked_list) # cast everything in str and persist results.

    text2 = ''.join(
        ['<td><img src="{}" /> </td>'.format(src) for src in checked_list for ext in image_exts if src.endswith(ext)]
    )
    text1 = '''
    <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
        <table>
            <tr>
                <th>Entertainment List</th>
            </tr>
            <tr>
                {}  
            </tr>
        </table>

        </table>
    </body>
    </html>
    '''.format(text2)
    with open(planner_file, 'w') as f:
        # using with statement file-stream will be closed automatically.
        f.write(text1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...