仅列出相同变量的倍数

时间:2018-02-02 17:48:45

标签: python csv

我有一个python脚本,它查看json文件并将变量列为CSV。我遇到的问题是纬度和经度被列出两次。因此,当我写行时,它会查看这些变量并创建具有重复值的输出。

<ItemsPresenter/>

有没有办法只列出一次?

1 个答案:

答案 0 :(得分:0)

您需要使用return而不是yield。收益率为generators。修好后,您还需要更改

list(find_deep_value(data, "latitude"))

find_deep_value(data, "latitude")

对于每一行。最后,改变

output.writerow(lat + lon + weather + temp)

output.writerow([lat, lon, weather, temp])

发生了什么(您可能希望首先阅读生成器)是当一个键不在顶级词典中时,您开始循环它们,以及何时达到第一个'latitude'yield关键字返回一个生成器对象。您将该生成器包装在list()中,立即将整个生成器解压缩到一个列表中。因此,如果您有多个带有给定密钥的子字典,那么您最终会查找并查找每一个字典。