【发布时间】:2018-06-21 02:26:40
【问题描述】:
我编写了一个连接到 sql 数据库并返回查询的 python 脚本。我获取此查询并循环遍历它以将其存储在列表中,然后将其写入 JSON 文件。
我目前正在编写一个单独的脚本,该脚本将从 JSON 文件中检索此数据并循环遍历它以仅根据某些条件返回数据。
JSON 格式有许多几乎相同的记录,如下所示:
{
"email": "EMAIL@HOTMAIL.COM",
"reason_code": "PENDING",
"product": "SWRD",
"record_id": "0000000001"
},
{
"email": "EMAIL@HOTMAIL.COM",
"reason_code": "CONFIRM",
"product": "KNFE",
"record_id": "0000000001"
}
我想遍历这个文件,只将满足以下条件的记录返回到一个列表中:
- 检查重复的
record_id(许多会有重复的record_id) - 如果 2 个
record_id重复,那么我只想将具有"product":"SWRD"的记录返回到任意列表中 - 如果
record_id不重复,则返回到任意列表
我是如何尝试解决这个问题的: 我已经遍历了文件并将所有内容存储在 python 列表中。我制作了该列表的副本并循环遍历两者以尝试将块返回到新列表中。那没有用。 似乎我需要遍历文件并将所有内容存储到列表中。然后似乎我需要遍历该列表,从列表中提取第一个块,将其与列表的其余部分进行比较,如果没有匹配,则将该块返回到新列表,如果有匹配然后通过基于条件的 if-else 语句。然后我会采取第二个块并再次重复这个过程。我只是不知道如何去做。
所以当我完成时,我将拥有一个没有重复 record_id 的 JSON 文件。如果有人可以帮助我,那就太好了。如果需要,我可以发布代码示例,但我必须更改一些代码才能在线发布。如果您有任何问题,请告诉我
【问题讨论】:
-
您为此做了哪些尝试。请将它或它们添加到您的问题中,并描述为什么/如何/它们无法正常工作。
-
@martineau - 我更新了我尝试过的方法,我觉得必须解决的问题,但我不确定如何完成它。
-
你的口头描述和看到的不一样。事实上,如果它太长或太复杂,你有必要把你拥有的东西改成更短的东西。见How to create a Minimal, Complete, and Verifiable Example。
标签: python json data-structures python-3.6