从端点获取数据并将其存储在csv中

时间:2019-07-18 04:38:57

标签: python list api csv

我想从端点获取数据。它将其存储在数据帧中,然后将其转换为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()

1 个答案:

答案 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)