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

Posted

技术标签:

【中文标题】将列表中的内容拆分为所需的输出【英文标题】:Split the content in the list to required output 【发布时间】:2021-02-01 06:21:38 【问题描述】:

我正在做一个个人项目,但我被困在了一个点上。任何建议表示赞赏

我的意见是这样的

>>> 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/')"
>>>   

【问题讨论】:

【参考方案1】:

将第一个myList改为:

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

【讨论】:

抱歉,我在写问题描述时犯了一个错误。我已经更改了我的列表。现在它有两个双引号和一个单引号。你能提供一个解决方案吗?【参考方案2】:

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

这是我的实现方式。

>>> 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/)"

【讨论】:

以上是关于将列表中的内容拆分为所需的输出的主要内容,如果未能解决你的问题,请参考以下文章

将python中的LIST转换为所需的输出

如何将此混合行/列表转换为所需的输出。 (Oracle SQL/发行版:Ora12c)

如何将python字典转换为所需的数据框输出? [复制]

如何查询/将数据转换为所需的格式

xsl 未转换为所需的输出

将数据帧转换为所需的字典格式