微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何仅从 Python 中的字典末尾删除单引号

如何解决如何仅从 Python 中的字典末尾删除单引号

我想拿一本字典:

{'company': 'BOOK TA .K (TAMAN DAYA) SDN BHD','date': '25/12/2018','address': 'NO.53 55,57 & 59,JALAN SAGU 18,TAMAN DAYA,81100 JOHOR BAHRU,JOHOR.','total': '9.00'}

并尝试删除围绕每个键和值的引号,如下所示(所需的输出):

{company:BOOK TA .K (TAMAN DAYA) SDN BHD,date:25/12/2018,address:NO.53 55,JOHOR.,total:9.00}

问题是,无论我尝试使用哪种代码(regex、strip、rstrip...),我最终都会剪掉中间的那些单引号(这是一个大型数据集的一部分,并且有很多情况其中公司和地址字段有引号作为其中的一部分)我不能丢失这些嵌入的单引号,我只能在最后去掉那些。例如。

'Wendy's Stall' -> Wendy's Stall

正是我需要的,

不是

'Wendy's Stall' -> Wendys Stall

我最初认为这个问题与我需要的相似: Removing single quotes from a dictionary ,但问题是他们只是简单地采用了值的整数表示形式,并摆脱了它,因为所有值都是数字而不是字符串。 非常感谢您的帮助!

解决方法

如果你的字典实际上是一个字典而不仅仅是一个看起来像字典的字符串,你可以简单地将它转换成一个你想要的字符串:

d = {'company': 'Wendy\'s Stall','date': '25/12/2018','address': 'NO.53 55,57 & 59,JALAN SAGU 18,TAMAN DAYA,81100 JOHOR BAHRU,JOHOR.','total': '9.00'}
s = "{"+",".join(["{}:{}".format(k,v) for k,v in d.items()])+"}"
print(s)

输出:

{company:Wendy's Stall,date:25/12/2018,address:NO.53 55,JOHOR.,total:9.00}

旁注:如果您的“字典”是一个字符串,您可以尝试使用 JSON(如果它是有效的 JSON)或使用 AST 将其转换为实际的 dict。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。