【问题标题】:Loop through json file and delete key if it matches [duplicate]循环遍历json文件并删除键,如果它匹配[重复]
【发布时间】:2016-09-23 10:55:45
【问题描述】:

我的 JSON 文件具有以下结构:

{
  "channels": [
    "180873781382873088",
    "181268808055521280",
    "183484852287307777",
    "174886257636147201",
    "174521530573651968"
  ]
}

我想知道如何在文件中循环搜索特定字符串,如果匹配则将其删除。

谢谢。

编辑:Google 搜索指出我使用 for 循环并使用 del 命令删除密钥,所以这是我尝试的:

channel = "180873781382873088"

for item in data['channels']:
    del channel

但它只删除变量通道,而不是与其值匹配的键。

【问题讨论】:

  • 欢迎来到 Stack Overflow!您似乎在要求某人为您编写一些代码。 Stack Overflow 是一个问答网站,而不是代码编写服务。请see here学习如何写出有效的问题。
  • 您需要尝试一下并寻求我们的帮助。你基本上写出了正确的方法。这有什么问题?
  • 我将用我目前所拥有的内容来编辑问题。
  • 您是想直接对文件进行操作,还是要将其读入 Python 数据结构中进行处理,然后再将其保存回文件?
  • 在我看来,使用它后将其保存回文件是最好的,因为这是我习惯做的事情。

标签: python json


【解决方案1】:

试试

data['channels'].remove(channel)

而不是 for 循环。

这将自动搜索数组并删除与您的变量匹配的任何键。如果您需要帮助将结果保存到文件中,我会提出另一个问题。

【讨论】:

  • 谢谢,这正是我所需要的。
猜你喜欢
  • 2011-11-30
  • 1970-01-01
  • 2022-01-08
  • 2012-09-22
  • 2017-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-12
相关资源
最近更新 更多