首页 > 解决方案 > 以 DataFrame 格式提取不带标头的 API 数据

问题描述

我使用这个 API 脚本来提取价格数据,这些数据在变得可用之前需要进行一些处理。到目前为止,我可以调用、获取、格式化数据,直到最后一部分,然后拉出没有标题的列,这样我就可以将结果呈现到烧瓶/神社网络表中。

这是 python/pandas 部分:

# Coingecko API library
#coingecko.com/api/documentations/v3
from pycoingecko import CoinGeckoAPI
import json
import pandas as pd

response = cg.get_coin_market_chart_by_id(id='bitcoin',
                                            vs_currency='usd',
                                            days='5',
                                            interval='daily')

df = pd.json_normalize(response) 
df_columns = df.columns.values
df_values = df.to_dict('records')
df_values_exploded = df.explode('prices')

df_values_exploded = pd.DataFrame(df_values_exploded['prices'].to_list(), columns=['dates','prices'])
print('DATAFRAMED MARKET CHART: ',df_values_exploded)

df_values_exploded_columns = df_values_exploded .columns.values
print('DATAFRAMED MARKET CHART COLUMNS: ',df_values_exploded_columns)

df_values_exploded_without_columns = df_values_exploded.loc[df_values_exploded['prices'] == 'prices']
print('MARKET CHART WITHOUT COLUMNS: ',df_values_exploded_without_columns)

这是最终结果:

DATAFRAMED MARKET CHART: dates prices 0 1624492800000 33702.617794 1 1624579200000 34675.449105 2 1624665600000 31943.136468 3 1624752000000 32023.973902 4 1624838400000 34607.293274 5 1624893543000 34565.855350 DATAFRAMED

市场图表列:['dates' 'prices'] 市场图表没有

列:空 DataFrame 列:[日期,价格] 索引:[]

我坚持最后一部分,我无法在没有列标题的情况下提取数据,因为它显示空数据框列,而我只想要列数据。

标签: pythonpandas

解决方案


推荐阅读