将列表中的内容拆分为所需的输出

Split the content in the list to required output

我正在做一个个人项目,但遇到了困难。任何建议表示赞赏

我的输入是这样的

>>> mylist = ["'(select envrnmnt_parm_value from envrnmnt_parm where module_nm='Global')||home/inbound/travel/IMS/'"]

我需要的输出是这样的

"INSERT INTO CUSTOMER (app_s3) VALUES ((select envrnmnt_parm_value from envrnmnt_parm where module_nm='Global')||'home/inbound/travel/IMS/')"

我已经从陈述中删除了不必要的部分并保持简短只是为了让我的问题更清楚。我希望这是可以理解的。我尝试了多种方法,但没有得到所需的结果。

我试过的一个这样的事情是-

>>> 'INSERT INTO (app_s3) VALUES ({})'.format(','.join(mylist))
"INSERT INTO (app_s3) VALUES ('(select envrnmnt_parm_value from envrnmnt_parm where module_nm='Global')||home/inbound/travel/IMS/')"
>>>   

将第一个myList改为:

mylist = ["(select envrnmnt_parm_value from envrnmnt_parm where module_nm='Global')"+ '||' + '\'home/inbound/travel/IMS/\'']
  • 在第三个中,我添加了两个 ' 并使用 \.
  • 对它们进行了转义

你可以去掉两端的单引号,然后从'||'中拆分出来分成两个字符串。

这是我的实现方式。

>>> first, second = mylist[0][1:-1].split('||')
>>> f'INSERT INTO CUSTOMER (app_s3) VALUES ({first}||{second})'
"INSERT INTO CUSTOMER (app_s3) VALUES ((select envrnmnt_parm_value from envrnmnt_parm where module_nm='Global')||home/inbound/travel/IMS/)"