【发布时间】:2017-08-27 21:50:14
【问题描述】:
我有以下代码,旨在从网站中提取 json 数据并将其记录到 csv 文件中:
def rec_price():
with urllib.request.urlopen('some_url') as url:
data = json.loads(url.read().decode())
df = pd.DataFrame(data)
df1 = df[['bpi','time']]
x = df1.loc['USD', 'bpi']['rate']
y = df1.loc['updated', 'time']
df2 = pd.DataFrame({'data': [x], 'time' : [y]})
df2['time'] = pd.to_datetime(df2['time'])
with open('out.csv', 'a') as f:
df2.to_csv(f, header=False)
我想无限期地每 60 秒运行一次此代码。似乎可用的两个选项是安装apscheduler 或使用pythons 标准import sched, time 模块...我想知道,这两个模块之间有什么区别?一个更适合这项任务吗?我将如何实现该模块?
【问题讨论】:
-
while True怎么样?在函数调用之间使用sleep 60 -
windows 还是 *nix?在 *nix 系统上,更好的解决方案是
cron。 -
@sKwa- 这将在 MacBook Pro 上运行- 如果这回答了您的问题
-
@Vinny 基于此处的另一个回复 stackoverflow.com/questions/474528/… 我认为您的方法无效
-
cron 仍然适用于 Mac
标签: python csv scheduled-tasks