我是 python 新手,但自学了创建 crypto.com 交易机器人并让它工作。我以前从未编写过代码,所以这是非常有趣的经历 :)
但是,我遇到的一个问题是如何从 requests.post json 响应中找到某个字符串并使用它仅打印该行的数据?目前我这样做是这样的:
balance = requests.post(url=URL + "/v1/account", data=params, json=json)
this is what I get:
{'code': '0', 'msg': 'suc', 'data': {'total_asset': '0', 'coin_list': [{'normal': '0.000000000000000000', 'locked': '0.000000000000000000', 'coin': 'ENJ'}, {'normal': '1506.701942200000000000', 'locked': '0.000000000000000000', 'coin': 'CRO'}, {'normal': '0', 'locked': '0', 'coin': 'KNC'}, {'normal': '0', 'locked': '0', 'coin': 'VET'}, {'normal': '0.000059800000000000', 'locked': '0.000000000000000000', 'coin': 'PAXG'}, {'normal': '0.000096800000000000', 'locked': '0.000000000000000000', 'coin': 'USDT'}, {'normal': '0', 'locked': '0', 'coin': 'ALGO'}, {'normal': '0', 'locked': '0', 'coin': 'ATOM'}, {'normal': '0', 'locked': '0', 'coin': 'XRP'}, {'normal': '0', 'locked': '0', 'coin': 'XLM'}, {'normal': '0', 'locked': '0', 'coin': 'LINK'}, {'normal': '0', 'locked': '0', 'coin': 'XTZ'}, {'normal': '0', 'locked': '0', 'coin': 'BCH'}, {'normal': '0', 'locked': '0', 'coin': 'EOS'}, {'normal': '0', 'locked': '0', 'coin': 'DAI'}, {'normal': '0.000000000000000000', 'locked': '0', 'coin': 'BTC'}, {'normal': '0.003788320000000000', 'locked': '0.000000000000000000', 'coin': 'BAT'}, {'normal': '0', 'locked': '0', 'coin': 'ETC'}, {'normal': '0.014441820000000000', 'locked': '0.000000000000000000', 'coin': 'ETH'}, {'normal': '0', 'locked': '0', 'coin': 'MCO'}, {'normal': '0.004229970000000000', 'locked': '0.000000000000000000', 'coin': 'NEO'}, {'normal': '0', 'locked': '0', 'coin': 'LTC'}, {'normal': '0', 'locked': '0', 'coin': 'USDC'}, {'normal': '0', 'locked': '0', 'coin': 'ADA'}, {'normal': '0', 'locked': '0', 'coin': 'ICX'}]}}
Then I get coins that I want to trade like this:
balance1 = balance.json()
balance2 = balance1.get('data')
balance3 = balance2.get('coin_list')
balanceCRO = balance3[1]
balanceETH = balance3[19]
CROopen = balanceCRO.get('normal')
CROlocked = balanceCRO.get('locked')
ETHopen = balanceETH.get('normal')
ETHlocked = balanceETH.get('locked')
这按我想要的方式工作,但是当他们添加新币时,CRO 和 ETH 的位置会发生变化,所以我必须每次手动将 balance[1]、balance[19] 更改为相应的数字。
有没有办法从响应列表中找到某些字符串(在本例中为 CRO 和 ETH)并使用它从中获取值?
对不起,如果我解释得不好,我还在学习:)提前谢谢!