3 回答

TA贡献1802条经验 获得超5个赞
您在列表中有 3 个嵌套的 dicts,并且您使用一个值price
来存储所有 3 个;因此覆盖每次迭代的值。
我建议使用简单的列表理解来获取每个子字典的价格。
[i['p'] for i in json]
这导致:
['0.00000182', '0.00000182', '0.00000182']
虽然作为一个预警有一个内置模块,json
所以如果你想在将来使用它,你将需要使用一个更具描述性的名称;以及您的其他命名约定首先考虑更好的约定。
PS价格值是字符串,因此与int比较没有意义

TA贡献1852条经验 获得超7个赞
采用pandas
import pandas as pd
问题是我如何迭代
json
我认为真正的问题和目标是,我如何从这个对象访问我的数据并从中收集洞察力。
这就是 的力量
pandas
。现在所有信息都可用且易于使用。
如果数据在文件中,如图所示:
df = pd.read_json('file.json')
如果数据只是一个命名对象(例如data = [{...}, {...}, {...}]
)
df = pd.DataFrame(data)
输出df
:
获取p或任何其他信息:
p_list = df.p.tolist()
print(p_list)
>>> ['0.00000182', '0.00000182', '0.00000182']

TA贡献1963条经验 获得超6个赞
抱歉,伙计们,我应该更清楚地说明我正在寻找的东西可能比我做出来的东西或我描述它的方式更简单。我基本上只是想从第一个停止的地方继续第二个循环,我现在发现这是一个不错的解决方案。
elementCount = 0
for i in json:
time.sleep(1)
price = i['p']
elementCount = elementCount + 1
if price == "0.00000183":
print("foo")
for i in json[elementCount:]:
time.sleep(1)
price = float(i['p'])
if price == "0.00000181":
print("sold")
else:
continue
elif price == "0.00000185":
print ("sold")
break
else:
continue
我基本上只是不明白从列表中的某个元素继续迭代的格式,就像这样 [40:]。感谢您的所有回答和帮助。
添加回答
举报