将选定的原始数据加载到数据框中时出错

Errors when load selected raw data into dataframe

我想 select 三组 json 数据并将它们加载到数据框中,但我遇到了错误 "string indices must be integers"。谁能告诉我这是什么原因?

代码如下,附上截图:

for currency in data:
if '/BTC' in currency['symbol']:
    change_daily=currency['percentage']
    name=currency["symbol"]
    price = currency['lastPrice']


df_binance.append({"NAME":name,"24h_change":change_daily,"PRICE":price})

看起来 currencydata 字典中的一个关键字:

for currency in data:
    if '/BTC' in data[currency]['symbol']:
        change_daily=data[currency]['percentage']
        name=data[currency]["symbol"]
        price = data[currency]['last']
        df_binance.append({"NAME":name,"24h_change":change_daily,"PRICE":price})

顺便说一句,您应该在循环之前定义 df_binance 列表。最好用 for currency in data.keys()

迭代

更新:更短的加载方法:

df = pd.DataFrame(data).T.reset_index()[['symbol', 'percentage', 'last']]
df = df.loc[df.symbol.str.endswith("BTC")]