Python Concat join()方法的输出

2024-04-27 00:05:51 发布

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

在python+psycopg2中,是否可以转换使用内联for循环的这行代码:

args_str = ','.join(cur_psql.mogrify("(%(customer_id)s, %(customer_name)s, %(contact_name)s, %(address)s, %(city)s, %(postal_code)s, %(country)s)", row) for row in cur_msql)

一段代码,允许在迭代for循环时执行更多操作,但仍然获得相同的输出(一个包含所有数据的对象->;args\u str)?例如:

for row in cur_msql:
  # additional operations eg.:
  if row['customer_name'] == NULL:
    row['customer_name'] = row['customer_name']
  args_str =+ ','.join(cur_psql.mogrify("(%(customer_id)s, %(customer_name)s, %(contact_name)s, %(address)s, %(city)s, %(postal_code)s, %(country)s)", row)

Tags: 代码nameidcityforaddressargscontact
1条回答
网友
1楼 · 发布于 2024-04-27 00:05:51

此代码将每个“mogrified”值累加在一个列表中,然后使用join()将它们放在一起:

args = []
for row in cur_msql:
    # additional operations eg.:
    if row['customer_name'] == NULL:
        row['customer_name'] = row['customer_name']
    args.append(cur_psql.mogrify("(%(customer_id)s, %(customer_name)s, %(contact_name)s, %(address)s, %(city)s, %(postal_code)s, %(country)s)", row))

args_str = ','.join(args)

它应该创建一个等价的args_str来:

args_str = ','.join(cur_psql.mogrify("(%(customer_id)s, %(customer_name)s, %(contact_name)s, %(address)s, %(city)s, %(postal_code)s, %(country)s)", row) for row in cur_msql)

(注意,我在上面把x改成了row。)

这个字符串是否真的是你需要/想要的是另一个问题。你知道吗

相关问题 更多 >