如何在python的任何变量中迭代str和int

2024-06-25 23:02:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我从sql查询中得到一些名称和car\ no,并希望在另一个“msg”变量中迭代它们。你知道吗

car_no = <class 'int'>
names = <class 'str'>

input sample: names & car_no
jhon
198
pig
144
carlet
36
Mona
144
rahul
510

比如100个名字和车号在那里,想要在msg中迭代所有这些名字和车号(msg是用于发送邮件给收件人(HTML格式)) 所需输出为:

<html>
                                 <head></head>
                                 <body>
                                   <p>Dear jhon</p>
                                   <p>your bday list:</br>
                                     jhon - 199</br>
                                      pig - 144</br>
                                     carlet -36</br>
                                      mona - 144</br>
                                      rahul - 510</br

                                   <p>
                                   Thanks</br>

                                   </p>
                                   </body>
                          </html>

我试过:

for query in _queries:
    # print(query)
    cur.execute(query)
    fetch= cur.fetchone().items()

    names = list(fetch)[0][0]
    car_no= list(fetch)[0][1]
    message = f'''<html>
                                  <head></head>
                                  <body>
                                    <p>Dear Team</p>
                                    <p>Last hour count is</p>
                                    \t{names} - \t{car_no}</p>
                                    </body>
                                </html>'''
    print(message)

我应该怎么做才能得到所需的输出。你知道吗

谢谢


Tags: nobrnameshtmlbodymsgfetchquery
1条回答
网友
1楼 · 发布于 2024-06-25 23:02:37

让你开始吧

import sqlite3


conn = sqlite3.connect("file::memory:")
cursor = conn.cursor()
queries = "SELECT 'name' AS name, 1 as no",

def execute_query(query):
    cursor.execute(query)
    return cursor

list_part = '\n'.join(
    f'<br>{name} - {no}</br>'
    for q in queries
    for name, no in execute_query(q)
)

print(list_part)

如果你的数据与你所展示的方式一致,那么这可能对你有用。你知道吗

from itertools import tee, islice


def chunks(seq, n):
    s = iter(seq)
    return zip(*(iter(s) for i in range(n)))

data = (
    'name1', 1, 'name2', 2
)

list_part = '\n'.join(
    f'<br>{name} - {no}</br>'
    for name, no in chunks(data, 2)
)

print(list_part)

相关问题 更多 >