Цель приведенного ниже кода - извлечь данные из URL-адреса в виде кадра данных pandas. Данные представляют собой данные Forex с отметкой времени. Цель состоит в том, чтобы извлекать данные каждую минуту, каждую минуту, добавлять и сохранять их в уже созданном файле CSV. Я смог выполнить добавочную часть, но не спасительную часть. Когда я звоню в CSV во время выполнения кода, он не будет работать. Я верю, что Asyncio может достичь этого, но в настоящее время я не могу обернуть голову вокруг его выполнения. Что касается каждой минуты, я также думаю, что asyncio может работать из того, что я могу сказать, используя переменные x и y, установленные в приведенном ниже коде. Я знаю, что time.sleep () - неправильный способ выбора времени. Я просто использую if для тестирования, чтобы увидеть, работает ли функция добавления как задумано. Я также использовал модуль расписания раньше, и он противоречив. значения x и y ниже были моей успешной попыткой извлечь текущее минутное время из индекса (y), а затем сравнить его с текущим фактическим временем (x). и используйте это в логике, а не в то время как True. и был неудачным.
Далее, то, что делается бесконечно (в то время как Истина), это то, что URL-адрес вызывается снова, и тот же процесс выполняется до нового df, как в df2. Затем это добавляется после периода ожидания пятнадцать секунд.
Все это работает как положено и нормально
import pandas as pd
from datetime import datetime
import datetime
import numpy as np
import csv
import matplotlib
import time
import datetime
import asyncio
df = pd.read_json('https://forex.1forge.com/1.0.3/quotes?pairs=EURUSD,EURJPY,GBPUSD,USDCAD,&api_key=KEY')
df = df.pivot_table('price', 'timestamp', 'symbol')
df.to_csv('datapull.csv')
df = pd.read_csv('datapull.csv', index_col='timestamp', parse_dates=['timestamp'])
while True:
df2 = pd.read_json('https://forex.1forge.com/1.0.3/quotes?pairs=EURUSD,EURJPY,GBPUSD,USDCAD,&api_key=KEY')
df2 = df2.pivot_table('price', 'timestamp', 'symbol')
df2.to_csv('datapull2.csv')
df2 = pd.read_csv('datapull2.csv', index_col='timestamp', parse_dates=['timestamp'])
df = df.append(df2)
y = df.index.strftime('%M')[-1]
currmin = datetime.datetime.now()
x = currmin.strftime('%M')
print(df)
print(x)
print(y)
time.sleep(15)
Ниже приведен пример вывода кода выше:
Это выход, когда df запускается ниже.