You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决'dict' object has no attribute 'loads'错误及flucs数据提取问题

问题分析与解决方案

看起来你碰到了两个问题:一是代码抛出的AttributeError错误,二是如何正确提取flucs里的最后两条无时间戳数据并追加它们。让我一步步帮你搞定:

先解决你的错误:AttributeError: 'dict' object has no attribute 'loads'

这个错误的核心原因是你调用.loads()的对象是一个字典,而不是json模块。结合你贴的代码来看,有两个明确的诱因:

  1. 语法错误:requests.get()的调用没有闭合括号,导致Python解析器混乱,错误地把json识别成了某个字典变量,而非你导入的json模块。
  2. 变量遍历逻辑错误:你用for fluc in selection['flucs']遍历字符串,会把flucs拆成单个字符处理,这完全不符合解析JSON字符串的需求。

实现你的核心需求:提取最后两条数据、追加、去除时间戳

你的目标很明确:从flucs的时间戳-赔率列表里,取出最后两个赔率值(去掉时间戳),并把这些值统一追加起来。下面是修正后的完整代码,附带详细注释:

import requests
import json

# 修正:补上requests.get()的闭合括号,同时把URL里的&转成&(避免请求参数解析错误)
request2 = requests.get(
    'https://www.punters.com.au/api/web/public/Odds/getOddsComparisonCacheable/?allowGet=true&APIKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&eventId=1044547&betType=FixedWin',
    headers={'User-Agent': 'Mozilla/5.0'}
)
json2 = request2.json()

# 用来存储所有提取到的最后两条赔率数据
collected_odds = []

for selection in json2['selections']:
    # 直接把flucs的JSON字符串解析成Python列表,不需要遍历字符串
    flucs_data = json.loads(selection['flucs'])
    
    # 先判断数据条数是否足够,避免索引越界错误
    if len(flucs_data) >= 2:
        # 取倒数第二个和最后一个元素,提取它们的第二个值(即赔率,跳过时间戳)
        second_last_odd = flucs_data[-2][1]
        last_odd = flucs_data[-1][1]
        
        # 追加到收集列表中
        collected_odds.append(second_last_odd)
        collected_odds.append(last_odd)
        
        # 打印当前选项的结果,方便验证
        print(f"[{selection['name']}] 倒数第二条赔率:{second_last_odd},最后一条赔率:{last_odd}")
    else:
        print(f"[{selection['name']}] 的flucs数据不足2条,跳过处理")

# 输出所有收集到的最终结果
print("\n所有提取的最后两条赔率数据:", collected_odds)

关键细节说明:

  1. 修正请求合法性:不仅补上了requests.get()的闭合括号,还修复了URL里的HTML转义字符&为标准的&,避免请求时参数解析失败。
  2. 正确解析flucs:selection['flucs']是一个完整的JSON字符串,直接用json.loads()解析成列表即可,不需要遍历字符串的单个字符。
  3. 避免索引越界:加入len(flucs_data) >= 2的判断,防止某些选项的flucs数据过少导致报错。
  4. 精准提取目标值:用flucs_data[-2][1]和flucs_data[-1][1]直接定位到倒数第二、最后一个元素的赔率值(跳过第一个位置的时间戳)。
  5. 统一追加数据:把所有提取到的赔率值追加到collected_odds列表中,方便后续的存储或进一步处理。

内容的提问来源于stack exchange,提问作者onthepunt3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 21:57:34