gpt4 book ai didi

python - 从类中的嵌套字典打印

转载 作者:行者123 更新时间:2023-12-01 09:29:48 27 4
gpt4 key购买 nike

无法弄清楚为什么此特定设置不起作用。

class market(object):
def __init__(self, market, coin):
self.coin = coin
self.market = market
req = requests.get(f"http://bittrex.com/api/v1.1/public/getticker?market={market}-{coin}")
sum = requests.get(f"https://bittrex.com/api/v1.1/public/getmarketsummary?market={market}-{coin}")
self.address = req.json()
self.marketsum = sum.json()

def ticker(self):
while True:
print(self.address["result"])
time.sleep(5)

def marketsummary(self):
print(f"Market Summary for {coin}")
print('_' * 20)
print("Market Name: ", self.marketsum['result']['MarketName'])
print("High: ", self.marketsum['result']['High']))
print("Low: ", self.marketsum['result']['Low'])
print("Volume: ", self.marketsum['result']['Volume'])
print("Last: ", self.marketsum['result']['Last'])
print("BaseVolume: ", self.marketsum['result']['BaseVolume'])
print("TimeStamp: ", self.marketsum['result']['TimeStamp'])
print("Bid: ", self.marketsum['result']['Bid'])
print("Ask: ", self.marketsum['result']['Ask'])
print("OpenBuyOrders: ", self.marketsum['result']['OpenBuyOrders'])
print("OpenSellOrders: ", self.marketsum['result']['OpenSellOrders'])
print("Previous Day: ", self.marketsum['result']['PrevDay'])
print("Created: ", self.marketsum['result']['Created'])
print("DisplayMarketName: ", self.marketsum['result']['DisplayMarketName'])`

我以前曾在 if 语句中使用过此方法和 static(?jaron?) 变量,例如

usdt_ticker = requests.get("https://bittrex.com/api/v1.1/public/getticker?market=USDT-ADA")
btc_ticker = requests.get("https://bittrex.com/api/v1.1/public/getticker?market=BTC-ADA")
eth_ticker = requests.get("https://bittrex.com/api/v1.1/public/getticker?market=ETH-ADA")

print("Which trade pairing would you like for this coin?")
tradepair = input("> ")
if str.lower(tradepair) == "usdt" or "tether":
actual_ticker = usdt_ticker.json()
elif str.lower(tradepair) == "btc" or "bitcoin":
actual_ticker = btc_ticker.json()
elif str.lower(tradepair) == "eth" or "ethereum":
actual_ticker = eth_ticker.json()
else:
print("Sorry that trading pair isnt currently being monitored by this system")
print("Now viewing Cardano /", str.upper(tradepair), " trading." )
current_price = actual_ticker["result"]["Last"]

但是使用 self.marketsum['result']['MarketName'] 它不起作用。如果有任何关于为什么会发生这种情况以及如何解决它的意见,我将不胜感激。我收到的错误是

类型错误:列表索引必须是整数或切片,而不是 str

最佳答案

来自developer's guide ,来自 /public/getmarketsummary 的响应的 json 结构如下所示:

{
"success" : true,
"message" : "",
"result" : [{
"MarketName" : "BTC-LTC",
"High" : 0.01350000,
"Low" : 0.01200000,
"Volume" : 3833.97619253,
"Last" : 0.01349998,
"BaseVolume" : 47.03987026,
"TimeStamp" : "2014-07-09T07:22:16.72",
"Bid" : 0.01271001,
"Ask" : 0.01291100,
"OpenBuyOrders" : 45,
"OpenSellOrders" : 45,
"PrevDay" : 0.01229501,
"Created" : "2014-02-13T00:00:00",
"DisplayMarketName" : null
}
]
}

请注意,结果实际上是一个包含单个元素的列表。他们没有说明为什么它在列表中,而且我无法让它返回包含多个元素的列表。

目前,应该可以更改访问 marketsum 的行

self.marketsum['result']['last']

self.marketsum['result'][0]['last']

可能还添加一个检查以确保列表不为空。

关于python - 从类中的嵌套字典打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50069108/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com