我有两个独立的功能,可以完美地工作,但我无法将它们组合起来。这是第一个:with open('/topladder/top_fr', 'r') as file1: with open('/topladder/top_pression', 'r') as file2: same = set(file1).intersection(file2)with open('/topladder/pr_top_fr', 'w') as file_out: for line in same: file_out.write(line)我在文件上得到了很好的结果,几行,如下所示:#000000#111111#AAAAAA第二个从 JSON 文件中提取数据,如下所示: data = json.loads(response) for p in data ["items"]: if p["tag"] == #BBBBBB : print("%s %s %s" % ( p["rank"], p["name"], p["trophies"],))我也得到了很好的结果。但是,我想使用第一个脚本的结果并结合两个脚本执行以下操作,而不是手动放置标签:with open('/topladder/top_fr', 'r') as file1: with open('/topladder/top_pression', 'r') as file2: same = set(file1).intersection(file2) data = json.loads(response) for p in data ["items"]: for line in same: if p["tag"] == line : print("%s %s %s" % ( p["rank"], p["name"], p["trophies"],))但是,没有结果...我想我还没有到此为止,谢谢您!
1 回答
汪汪一只猫
TA贡献1898条经验 获得超8个赞
line以换行符结尾,您需要在与 进行比较之前将其删除p["tag"]。
if p["tag"] == line.strip():
您可以通过在创建集合时删除它们来更有效地完成此操作:
same = set(x.strip() for x in set(file1).intersection(file2))
也不需要循环same,使用in.
for p in data["items"]:
if p["tag"] in same:
print("%s %s %s" % (
p["rank"],
p["name"],
p["trophies"],
))
添加回答
举报
0/150
提交
取消