【发布时间】:2021-08-18 05:43:13
【问题描述】:
总结
我目前正在将 JSON 数组的第一个对象转储到 Discord 中,但我只想要一部分数据,特别是 teams。我认为我需要编辑第 50 行 return(odds_json['data'][0]),有人可以帮我提取这段特定的数据吗?
这里说转储:
{'id': '19c709db17e33a20f7c88af1a119cef1', 'sport_key': 'basketball_nba', 'sport_nice': 'NBA', 'teams': ['Atlanta Hawks', 'New York Knicks'], 'commence_time': 1622394647 , 'home_team': '亚特兰大老鹰队', 'sites': [{'site_key': 'fanduel', 'site_nice': 'FanDuel', 'last_update': 1622399415, '赔率': {'h2h': [-1350 , 700]}}, {'site_key': 'betmgm', 'site_nice': 'BetMGM', 'last_update': 1622399373, '赔率': {'h2h': [-650, 475]}}, {'site_key ':'betrivers','site_nice':'BetRivers','last_update':1622399389,'赔率':{'h2h':[-910, 540]}},{'site_key':'draftkings','site_nice' :'DraftKings','last_update':1622399388,'赔率':{'h2h':[-835, 525]}},{'site_key':'sugarhouse','site_nice':'SugarHouse','last_update': 1622399399, '赔率': {'h2h': [-1000, 575]}}, {'site_key': 'barstool', 'site_nice': 'Barstool Sportsbook', 'last_update': 1622399403, '赔率': {' h2h': [-1000, 575]}}, {'site_key': 'unibet', 'site_nice': 'Unibet', 'last_update': 1622399400, '赔率': {'h2h': [-1000, 575] }}, {'site_key': 'b etfair, 'site_nice': 'Betfair', 'last_update': 1622399405, '赔率': {'h2h': [-500, 470], 'h2h_lay': [-476, 500]}}, {'site_key' : 'pointsbetus', 'site_nice': 'PointsBet (US)', 'last_update': 1622399407, '赔率': {'h2h': [-620, 410]}}, {'site_key': 'williamhill_us', ' site_nice': 'William Hill (US)', 'last_update': 1622399389, '赔率': {'h2h': [-650, 450]}}, {'site_key': 'foxbet', 'site_nice': 'FOX赌注', 'last_update': 1622399401, '赔率': {'h2h': [-909, 450]}}, {'site_key': 'gtbets', 'site_nice': 'GTbets', 'last_update': 1622399392, '赔率':{'h2h':[-946, 543]}},{'site_key':'caesars','site_nice':'Caesars','last_update':1622399398,'赔率':{'h2h': [-455, 320]}}, {'site_key': 'bovada', 'site_nice': 'Bovada', 'last_update': 1622399102, '赔率': {'h2h': [120, -160]}}, {'site_key': 'mybookieag', 'site_nice': 'MyBookie.ag', 'last_update': 1622399393, 'odds': {'h2h': [-285, 210]}}], 'sites_count': 15}
这是 .py 文件。
import discord
import os
import requests
import json
api_key = os.environ['API_KEY']
client = discord.Client()
def get_odds():
sports_response = requests.get('https://api.the-odds-api.com/v3/sports', params={
'api_key': api_key
})
sports_json = json.loads(sports_response.text)
if not sports_json['success']:
print(
'There was a problem with the sports request:',
sports_json['msg']
)
else:
print('Keep it 200')
sport_key = 'basketball_nba'
odds_response = requests.get('https://api.the-odds-api.com/v3/odds', params={
'api_key': api_key,
'sport': sport_key,
'region': 'us', # uk | us | eu | au
'mkt': 'h2h', # h2h | spreads | totals
'oddsFormat': 'american'
})
odds_json = json.loads(odds_response.text)
if not odds_json['success']:
print(
'There was a problem with the odds request:',
odds_json['msg']
)
else:
# odds_json['data'] contains a list of live and
# upcoming events and odds for different bookmakers.
# Events are ordered by start time (live events are first)
print(
'Successfully found {} events'.format(len(odds_json['data']))
)
return(odds_json['data'][0])
# Check your usage
print('Remaining requests', odds_response.headers['x-requests-remaining'])
print('Used requests', odds_response.headers['x-requests-used'])
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('$odds'):
odds = get_odds()
await message.channel.send(odds)
client.run(os.getenv('TOKEN'))
【问题讨论】:
-
您可以删除您的问题,然后在准备好后取消删除
-
顺便说一句,欢迎来到 Stack Overflow!如果需要提示,请查看tour 和How to Ask。
-
@snakeowens,欢迎来到 SO,如果您已经在这方面尝试过,请举例说明您需要什么部分以及任何代码示例
-
我刚刚用代码和示例更新了问题,抱歉我最初发布时遇到了问题。
-
@wjandrea,必须让它发布才能编辑它或等待 90 分钟重新发布一个新的 q,所以我只是现场编辑!