Python - 连接 join() 方法的输出
Python - Concat the output of join() method
在 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_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)
此代码将每个 "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)
(N.B。我把上面的x
改成了row
。)
那个字符串是否真的是你need/want是另一个问题。
在 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_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)
此代码将每个 "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)
(N.B。我把上面的x
改成了row
。)
那个字符串是否真的是你need/want是另一个问题。