python-3.x 格式化SQL友好字符串中的n长度列表

2fjabf4q  于 2023-06-25  发布在  Python
关注(0)|答案(1)|浏览(115)

我希望能够输入由6位数GL组成的任何长度的列表。需要可变长度的列表为未来的发展。
重新格式化:
添加领先的0000,因为旧的SAP只是喜欢随机额外的零。将列表转换为适当的格式化字符串以供SQL查询。保存为一个变量,以便以后在f字符串中使用。
我可以让列表的长度适当,或者用正确的括号。但不能两者都是。

GLs_Entered = 101010, 202020, 303030, 404040

SQL_GLs = [f'0000{e}' for e in GLs_Entered]

Output_Variable = "('{}','{}','{}')".format(*SQL_GLs)

print(SQL_GLs)
print(output)

以上输出

Need this length     SQL_GLs = ['0000101010', '0000202020', '0000303030', '0000404040']
Need this format     Output_Variable = ('0000101010','0000202020','0000303030')

SQL GLs正在适当地调整列表的可变长度,不幸的是,输出受到{}需要提前定义的限制。
正确答案是:

('0000101010', '0000202020', '0000303030', '0000404040')

SQL需要括号,不会接受方括号为有效(至少在我被迫使用的版本中)。

i5desfxk

i5desfxk1#

您可以通过以下方式直接获取此输出:

output=tuple(f'0000{e}' for e in GLs_Entered)

print(output)
#('0000101010', '0000202020', '0000303030', '0000404040')

编辑:
你可以zfill()@josh评论

tuple(str(e).zfill(9) for e in GLs_Entered)
#('0000101010', '0000202020', '0000303030', '0000404040')

相关问题