繁体   English   中英

如何从dict中的值中删除'\ n'? 使用 json 文件

[英]How to remove '\n' from values in dict? working with json file

我的 json 文件如下所示:

[
    {
        "name": "\nsome information\n",
        "surname": "\nsome information\n",
        "date": "\nsome information\n",
        "email": "\nsome information\n"
    }
]

我需要从每个值中删除 \n 。

我们有什么方法可以消除它吗?

多谢

for key in listy[0]:
    listy[0][key] = listy[0][key].strip("\n")

尝试这个

您可以使用str.strip

>>> data = [
    {
        "name": "\nsome information\n",
        "surname": "\nsome information\n",
        "date": "\nsome information\n",
        "email": "\nsome information\n"
    }
]

>>> [{key: value.strip() for key, value in d.items()} for d in data]
[
    {'name': 'some information',
     'surname': 'some information',
     'date': 'some information',
     'email': 'some information'}
]

如果要替换的字符串中有'\n'字符,也可以使用str.replace('\n', '')

[{key: value.replace('\n', '') for key, value in d.items()} for d in data]

您可以执行以下操作:

json_ = [
    {
        "name": "\nsome information\n",
        "surname": "\nsome information\n",
        "date": "\nsome information\n",
        "email": "\nsome information\n"
    }
]


for item in json_:
    for key, value in item.items():
        item[key] = value.strip()

print(json_)

仅一行(无循环)

数据:

d = [
    {
        "name": "\nsome information\n",
        "surname": "\nsome information\n",
        "date": "\nsome information\n",
        "email": "\nsome information\n"
    }
]

d:

[{'name': '\nsome information\n',
  'surname': '\nsome information\n',
  'date': '\nsome information\n',
  'email': '\nsome information\n'}]
[dict(zip(d[0].keys(), list(map(str.strip, d[0].values()))))]
[{'name': 'some information',
  'surname': 'some information',
  'date': 'some information',
  'email': 'some information'}]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM