我对Mongo的Webservice调用将在JSON之后返回。我需要迭代这个JSON值并删除item-product_language,因为它包含NULL/空字符串。
对如何做到这一点有什么想法吗?
Python 3.4版本。
{
"prod_doc_key" : "613509",
"metadata" : {
"channel_availability_for" : {
"description" : "Kiosk and Web",
"id" : 0
},
"dd_sold_out_flag" : 0,
"dd_units_sold_flag" : 0,
"display_type_id" : {
"id" : 0
},
"preorder_flag" : 0,
"price_in_cart_flag" : 0,
"product_language" : "",
"product_type" : {
"id" : 0,
"name" : "Product"
},
"promotion_flag" : 0,
"published" : 1,
"rebate_flag" : 0
}
}
您可以使用以下语法从字典d
中删除键k
:
del d[k]
使用json
模块加载JSON。
import json
with open('demo.txt','r+') as f:
dic=json.load(f)
try:
if dic['metadata']["product_language"]:
del dic['metadata']["product_language"]
except KeyError:
print "Key doesn't exist"
print dic
请注意,这里的dic
是一个字典,您可以通过打印type(dic)
来确定它。因此,您可以对它执行任何字典操作,例如,我删除了dic
的一个键。要迭代dic,请执行以下操作:
for key,value in dic.iteritems():
#do_something
用json加载它,如果它为空,则删除键:
import json
item =json.loads(src)
if 'product_language' in item and not item['product_language']:
item.pop('product_language')
在Python中,空字符串等于false。
我有一个python dict,我想从我的字典中自动删除和键,所以我想出了如下内容: 如您所见,它的可读性较低,并且导致我编写重复的代码。所以我想知道python中是否有一个方法可以从一个dict中移除任何键,而不会抛出键错误?
问题内容: 我有一个自定义对象的ArrayList。我要删除重复的条目。 对象具有三个字段:和。如果字幕多次出现,那么我只需要带有thats字幕的第一项(忽略带有该字幕的其余对象)。 问题答案: 您可以使用自定义Comparator将ArrayList的内容放入TreeSet中,如果两个字幕相同,则应返回0。之后,您可以将Set转换为列表,并使列表中没有“重复项”。这是对象的示例,您当然应该使用正
问题内容: 数据库类型为PostGres 8.3。 如果我写了: 我有一些计数超过1的行。如何取出重复的行(我仍然希望每个行都保留1行,而不是+1行…我不想删除所有行。) 例子: 应该变成: 我找到的唯一答案是 在那里,但是我想知道是否可以在没有哈希列的情况下做到这一点。 警告 我没有具有唯一编号的PK,因此无法使用min(…)技术。PK是3个字段。 问题答案: 这是所有表都应具有主键的众多原因之
问题内容: 我在Python中有一个列表列表: 我想从中删除重复的元素。如果这是正常列表,而不是我可以使用的列表set。但不幸的是,该列表不可散列,因此无法建立一组列表。只有元组。因此,我可以将所有列表转换为元组,然后使用set并返回列表。但这不是很快。 如何以最有效的方式做到这一点? 上面的结果应为: 我不在乎保留订单。 注意:这个问题很相似,但不是我所需要的。搜索了SO,但没有找到确切的重复项
问题内容: 我要删除重复的项目,重复的项目可以撤消。结果应为: 如何在Python中实现? 问题答案: 如果订单很重要,您可以随时使用OrderedDict
问题内容: 我使用下面的代码行遍历数据库中的一个表: 如果我打印出数组: 我会得到这个: 但是我想摆脱数组中的重复项,所以我使用 我得到下面的奇怪结果,这不是我想要的结果: 理想情况下,我认为它应该返回以下内容: 我该怎么做才能正确处理?我使用了错误的PHP语法/默认功能吗? 问题答案: 该功能将为您完成此操作。您只需要添加标志: