我想从端点获取数据。它将其存储在数据帧中,然后将其转换为csv。它会在每个时间间隔后获取数据,但会继续替换同一行中的值,而不是将所有值存储在csv中。
import requests
import threading
import csv
import json
interval = 3
from pandas.io.json import json_normalize
def myPeriodicFunction():
r=requests.get("https://api.coindesk.com/v1/bpi/currentprice.json").json()
df=json_normalize(r['bpi']['USD'])
df.to_csv('data.csv',sep='\t', header=True)
def startTimer():
threading.Timer(interval, startTimer).start()
myPeriodicFunction()
startTimer()
答案 0 :(得分:1)
尝试一下:
def myPeriodicFunction():
r=requests.get("https://api.coindesk.com/v1/bpi/currentprice.json").json()
df=json_normalize(r['bpi']['USD'])
with open('data.csv', 'a') as f:
df.to_csv(f,sep='\t', header=False)