【问题标题】:change single quotes to double quotes in list of dictionaries在字典列表中将单引号更改为双引号
【发布时间】:2021-09-03 01:50:20
【问题描述】:

输入=

list1=[{'Name':'Jack','email':'xyz@foo.com'},
          {'Name':'Sam','email':'sam@xyz.com'},
          {'Name':'Dan','email':'dan@xyz.com'}]

需要的输出 =

list1=[{"Name":"Jac","email":"xyz@foo.com"},
          {"Name":"Sam","email":"sam@xyz.com"},
          {"Name":"Dan","email":"dan@xyz.com"}]

如何将其作为输出?我试过了

list2=[]

for items in response:
    list2.append(json.dumps(items))

我得到的输出是

['{'Name':'Jack','email':'xyz@foo.com'}',
          '{'Name':'Sam','email':'sam@xyz.com'}',
          '{'Name':'Dan','email':'dan@xyz.com'}']

【问题讨论】:

  • 拿你的字典,把它转储到文本编辑器中然后查找替换它们?

标签: python json python-3.x list dictionary


【解决方案1】:

请像这样使用json.dumps

import json

list1=[{'Name':'Jack','email':'xyz@foo.com'},
          {'Name':'Sam','email':'sam@xyz.com'},
          {'Name':'Dan','email':'dan@xyz.com'}]

print(list1)

list2 = json.dumps(list1)
print(list2)

#[{'Name': 'Jack', 'email': 'xyz@foo.com'}, {'Name': 'Sam', 'email': 'sam@xyz.com'}, {'Name': 'Dan', 'email': 'dan@xyz.com'}]
#[{"Name": "Jack", "email": "xyz@foo.com"}, {"Name": "Sam", "email": "sam@xyz.com"}, {"Name": "Dan", "email": "dan@xyz.com"}]

【讨论】:

    【解决方案2】:

    一般来说,您希望对整个数据结构执行json.dumps(),而不是针对单个数据块。

    从您的问题中不清楚输入是什么形式;它是文件中的数据结构,还是内存中的数据结构?

    如果它在一个文件中,第一步将是读取它,所以它在内存中,所以每个部分都有正确的形式。

    完成后,您可以对整个列表执行json.dumps()

    【讨论】:

    • 我在内存中获取这些数据,当我在整个列表中执行json.dumps() 时。输出 = '[{"Name":"Jac","email":"xyz@foo.com"}, {"Name":"Sam","email":"sam@xyz.com"}, {"Name":"Dan","email":"dan@xyz.com"}]'
    • 这听起来像你想要的!
    猜你喜欢
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    • 2019-10-04
    • 2019-05-17
    • 1970-01-01
    相关资源
    最近更新 更多