извлекать данные из API n раз, а затем преобразовывать их в один кадр данных pandas - PullRequest
0 голосов
/ 15 декабря 2018

У меня есть небольшой скрипт на python, в котором я получаю данные о курсе валют криптовалюты каждую секунду. Теперь я хочу остановиться после выборки данных, скажем, 100 раз, а затем преобразовать все эти данные в один фрейм данных.Также планировщик является правильным способом сделать это? Если нет, то что еще я должен использовать?

import requests
import json
import pandas as pd
import sched, time

s = sched.scheduler(time.time, time.sleep)
def my_function(sc): 
    data = requests.get("https://min-api.cryptocompare.com/data/price?fsym=ETH&tsyms=BTC,USD,EUR").json()
    print(data)
    s.enter(1, 1, my_function, (sc,))
s.enter(1, 1, my_function, (s,))
s.run()

1 Ответ

0 голосов
/ 15 декабря 2018

Может быть, что-то вроде этого:

import requests
import json
import pandas as pd
import time
from matplotlib import pyplot as plt
from pandas import DataFrame

eur_collection = []
usd_collection = []
btc_collection = []

for i in range(100):
    print("Request {}".format(i))
    data = requests.get("https://min-api.cryptocompare.com/data/price?fsym=ETH&tsyms=BTC,USD,EUR").json()
    eur_collection.append(data["EUR"])
    usd_collection.append(data["USD"])
    btc_collection.append(data["BTC"])
    time.sleep(0.01)

dframe = DataFrame({
    'eur': eur_collection, 
    'usd': usd_collection, 
    'btc': btc_collection
})

dframe.plot()

plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...