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

2024-06-01 21:06:53 发布

您现在位置: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,57 & 59, JALAN SAGU 18, TAMAN DAYA, 81100 JOHOR BAHRU, JOHOR., total:9.00}
问题是,不管我尝试哪种代码(正则表达式、条形、条带……),我最终都会剪断中间出现的单引号(这是一个大数据集的一部分,并且有许多情况下,公司和地址字段作为它们的一部分具有引号)i >强>不能丢失这些嵌入的单引号>我只需要在最后把它们处理掉。例如

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

这就是我需要的

不是

'Wendy's Stall' -> Wendys Stall

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


Tags: dateaddresscompanytasdnbookstallwendy
1条回答
网友
1楼 · 发布于 2024-06-01 21:06:53

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

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,57 & 59, JALAN SAGU 18, TAMAN DAYA, 81100 JOHOR BAHRU, JOHOR., total:9.00}

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

相关问题 更多 >