如何在 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 服务器的枚举值中添加特殊字符?
如何从python列表中任何特定索引处的句子中提取特定字符串?