如何在 Python 的列表值中添加特定字符?

Posted

技术标签:

【中文标题】如何在 Python 的列表值中添加特定字符?【英文标题】:How to add a specific character in a list value in Python? 【发布时间】:2021-12-13 02:33:17 【问题描述】:

我有一个从 pandas df 列中提取的值列表 - 转换为大写 - 其中一个值包含 "" 而不是 '' 作为值。列表如下所示:

('HUAXIA LIFE INSURANCE CORP', 
"PEOPLE'S BANK OF CHINA (PBOC) - GOVERNMENT SECURITIES DEPOSITORY TRUST & CLEARING CO. LTD.", 'BANCA POPOLARE DI SVILUPPO')

我想在列表中的“PEOPLE'S BANK OF CHINA..”值前面添加单引号,以便我可以在 sql 语句中读取它。我还需要在 PEOPLE'S (PEOPLE\S) 中将 ' 替换为 \,这很棘手。

我尝试使用替换

str(updated_unique_accts).replace("[",(").replace("]",")").replace("\"","'")

但这不起作用 - 删除双引号并用单引号替换它们。对此有何想法?

期望的输出

('HUAXIA LIFE INSURANCE CORP', 
'"PEOPLE\S BANK OF CHINA (PBOC) - GOVERNMENT SECURITIES DEPOSITORY TRUST & CLEARING CO. LTD."', 'BANCA POPOLARE DI SVILUPPO')

【问题讨论】:

results = '"' + string + '"' - 将其添加到两侧。 谢谢 - 我可以在 .replace() 评论中使用它吗?或者我如何将它添加到我的列表中? @LarrytheLlama 见:***.com/questions/47368962/…。这可能会保留引号。 我想我仍然很困惑如何找到所有具有 "" 的值,然后在我的列表中的这些值周围添加单引号 @Carl_M 更新提示以获取更多上下文 【参考方案1】:

考虑到您给出的内容,我假设您希望最终输出为字符串。考虑到这一点,您的代码只是有一点问题。我又添加了一个替换来处理结束条件。给你:

updated_unique_accts = ('HUAXIA LIFE INSURANCE CORP', 
"PEOPLE'S BANK OF CHINA (PBOC) - GOVERNMENT SECURITIES DEPOSITORY TRUST & CLEARING CO. LTD.", 
'BANCA POPOLARE DI SVILUPPO')
print(str(updated_unique_accts).replace("[","(").replace("]",")").replace(", \"",", '\"").replace("\",","\"',"))

输出:

【讨论】:

谢谢!这成功了,但我认为 People's 中的 ' 仍在抛出 sql 语句。有没有办法在单引号所在的位置添加“\”?所需的输出应如下所示:'"PEOPLE\S BANK OF CHINA (PBOC) - GOVERNMENT SECURITIES DEPOSITORY TRUST & CLEARING CO. LTD."', 更新了所需的输出 @Dinho 你不应该像那样简单地更新你的输出,你应该关闭它并创建一个新的。【参考方案2】:

这似乎达到了没有 for 循环的目标。就python而言,起始输出是一个元组。用三引号括起来使它成为一个多行字符串。现在可以使用 .replace() 处理。

因为默认全部替换,所以不需要对字符串进行 for 循环。

text = '''('HUAXIA LIFE INSURANCE CORP',"PEOPLE'S BANK OF CHINA (PBOC) - GOVERNMENT SECURITIES DEPOSITORY TRUST & CLEARING CO. LTD.",'BANCA POPOLARE DI SVILUPPO')'''
left_replace = text.replace(',"', ',\'"')
right_replace = left_replace.replace('",', '"\',')
print(right_replace)

('HUAXIA LIFE INSURANCE CORP','"PEOPLE'S BANK OF CHINA (PBOC) - GOVERNMENT SECURITIES DEPOSITORY TRUST & CLEARING CO. LTD."','BANCA POPOLARE DI SVILUPPO')

【讨论】:

以上是关于如何在 Python 的列表值中添加特定字符?的主要内容,如果未能解决你的问题,请参考以下文章

如何在数据框的值中添加前缀字符串

如何在 apollo graphQL 服务器的枚举值中添加特殊字符?

如何从嵌套的 json 值中提取特定值。?

如何从python列表中任何特定索引处的句子中提取特定字符串?

如何在 python 的另一列中的字符串值中从数据框中的一列中搜索字符串?

如何使用 re 库提取 xml 值中给定标签列表的值? [复制]