找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1485|回复: 2

[求助] 新人求助json的处理,希望各位大大给我指点一下

1

主题

1

帖子

1

积分

贫民

积分
1
angenet 发表于 2022-7-27 16:57:46 | 显示全部楼层 |阅读模式
有两个文件,分别为文件a.txt和b.txt
a.txt里面的内容
  1. http://www.aaa.com
  2. http://www.bbb.com
  3. http://www.ccc.com
复制代码
b.txt里面内容
  1. {
  2.   "pindao": [
  3.     {
  4.       "address": "http://www.aaa.com",
  5.       "img": "http://cdn.youlxodxka.live/img/1.jpg",
  6.       "title": "CCTV1综合"
  7.     },
  8.     {
  9.       "address": "http://117.148.179.156/PLTV/88888888/224/3221232362/index.m3u8",
  10.       "img": "http://cdn.youlxodxka.live/img/2.jpg",
  11.       "title": "CCTV2财经"
  12.     },
  13.     {
  14.       "address": "http://shbu.live.bestvcdn.com.cn:8080/live/program/live/cctv3hd/2300000/mnf.m3u8",
  15.       "img": "http://cdn.youlxodxka.live/img/3.jpg",
  16.       "title": "cctv3综艺"
  17.     },
  18.     {
  19.       "address": "http://www.bbb.com",
  20.       "img": "http://cdn.youlxodxka.live/img/4.jpg",
  21.       "title": "CCTV4国际"
  22.     },
  23.     {
  24.       "address": "http://117.148.179.165/PLTV/88888888/224/3221231702/index.m3u8",
  25.       "img": "http://cdn.youlxodxka.live/img/5.jpg",
  26.       "title": "CCTV5体育"
  27.     },
  28.     {
  29.       "address": "http://www.ccc.com",
  30.       "img": "http://cdn.youlxodxka.live/img/5p.jpg",
  31.       "title": "CCTV5+体育"
  32.     },
  33.     {
  34.       "address": "http://39.134.65.175/PLTV/88888888/224/3221225814/index.m3u8",
  35.       "img": "http://cdn.youlxodxka.live/img/6.jpg",
  36.       "title": "CCTV6电影"
  37.     }
  38.   ]
  39. }
复制代码
想要实现的效果(下面):
如果b.txt的address值里面出现a.txt里的预设值,然后整行清空,只保留没有对比上的数据,效果如下,请问怎么写这个规则:

  1. {
  2.   "pindao": [
  3.     {
  4.       "address": "http://117.148.179.156/PLTV/88888888/224/3221232362/index.m3u8",
  5.       "img": "http://cdn.youlxodxka.live/img/2.jpg",
  6.       "title": "CCTV2财经"
  7.     },
  8.     {
  9.       "address": "http://shbu.live.bestvcdn.com.cn:8080/live/program/live/cctv3hd/2300000/mnf.m3u8",
  10.       "img": "http://cdn.youlxodxka.live/img/3.jpg",
  11.       "title": "cctv3综艺"
  12.     },
  13.     {
  14.       "address": "http://117.148.179.165/PLTV/88888888/224/3221231702/index.m3u8",
  15.       "img": "http://cdn.youlxodxka.live/img/5.jpg",
  16.       "title": "CCTV5体育"
  17.     },
  18.     {
  19.       "address": "http://39.134.65.175/PLTV/88888888/224/3221225814/index.m3u8",
  20.       "img": "http://cdn.youlxodxka.live/img/6.jpg",
  21.       "title": "CCTV6电影"
  22.     }
  23.   ]
  24. }
复制代码


拜托各位大佬了,我折腾了两天都没有搞定,对于我这种新手来说真的是有点难度,主要是对python不熟悉
回复

使用道具 举报

0

主题

12

帖子

12

积分

贫民

积分
12
flyonetwo 发表于 2022-9-6 15:24:16 | 显示全部楼层
这样写,看看符不符合你要求
a = {
  "pindao": [
    {
      "address": "http://www.aaa.com",
      "img": "http://cdn.youlxodxka.live/img/1.jpg",
      "title": "CCTV1综合"
    },
    {
      "address": "http://117.148.179.156/PLTV/88888888/224/3221232362/index.m3u8",
      "img": "http://cdn.youlxodxka.live/img/2.jpg",
      "title": "CCTV2财经"
    },
    {
      "address": "http://shbu.live.bestvcdn.com.cn:8080/live/program/live/cctv3hd/2300000/mnf.m3u8",
      "img": "http://cdn.youlxodxka.live/img/3.jpg",
      "title": "cctv3综艺"
    },
    {
      "address": "http://www.bbb.com",
      "img": "http://cdn.youlxodxka.live/img/4.jpg",
      "title": "CCTV4国际"
    },
    {
      "address": "http://117.148.179.165/PLTV/88888888/224/3221231702/index.m3u8",
      "img": "http://cdn.youlxodxka.live/img/5.jpg",
      "title": "CCTV5体育"
    },
    {
      "address": "http://www.ccc.com",
      "img": "http://cdn.youlxodxka.live/img/5p.jpg",
      "title": "CCTV5+体育"
    },
    {
      "address": "http://39.134.65.175/PLTV/88888888/224/3221225814/index.m3u8",
      "img": "http://cdn.youlxodxka.live/img/6.jpg",
      "title": "CCTV6电影"
    }
  ]
}

b= ['http://www.aaa.com','http://www.bbb.com','http://www.ccc.com']
num = -1
for k,v in a.items():
    for i in v:
      num = num+1
      if i['address'] in b:
          v.pop(num)
print(a)
回复 支持 反对

使用道具 举报

0

主题

12

帖子

12

积分

贫民

积分
12
flyonetwo 发表于 2022-9-6 15:29:37 | 显示全部楼层
a = {
  "pindao": [
    {
      "address": "http://www.aaa.com",
      "img": "http://cdn.youlxodxka.live/img/1.jpg",
      "title": "CCTV1综合"
    },
    {
      "address": "http://117.148.179.156/PLTV/88888888/224/3221232362/index.m3u8",
      "img": "http://cdn.youlxodxka.live/img/2.jpg",
      "title": "CCTV2财经"
    },
    {
      "address": "http://shbu.live.bestvcdn.com.cn:8080/live/program/live/cctv3hd/2300000/mnf.m3u8",
      "img": "http://cdn.youlxodxka.live/img/3.jpg",
      "title": "cctv3综艺"
    },
    {
      "address": "http://www.bbb.com",
      "img": "http://cdn.youlxodxka.live/img/4.jpg",
      "title": "CCTV4国际"
    },
    {
      "address": "http://117.148.179.165/PLTV/88888888/224/3221231702/index.m3u8",
      "img": "http://cdn.youlxodxka.live/img/5.jpg",
      "title": "CCTV5体育"
    },
    {
      "address": "http://www.ccc.com",
      "img": "http://cdn.youlxodxka.live/img/5p.jpg",
      "title": "CCTV5+体育"
    },
    {
      "address": "http://39.134.65.175/PLTV/88888888/224/3221225814/index.m3u8",
      "img": "http://cdn.youlxodxka.live/img/6.jpg",
      "title": "CCTV6电影"
    }
  ]
}

b= ['http://www.aaa.com','http://www.bbb.com','http://www.ccc.com']
num = -1
for k,v in a.items():
    for i in v:
      num = num+1
      if i['address'] in b:
          v.pop(num)
print(a)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表