我想回到2018年3月29日,每天都要经历直到今天。还要将每一天单独保存到.csv并更改名称BOOKS_thedate.csv。 我的意思是以另一种方式应用日期时间,任何理解这一点的帮助都会非常感激。
import csv
import requests
import datetime
from pprint import pprint
outfile = open("BOOKS.csv","w",newline='')
writer = csv.writer(outfile)
writer.writerow(["book_ids","status","away_team_id","away_rot","ml_away","spread_away","spread_away_line","home_team_id",
"home_rot","ml_home","spread_home","spread_home_line","over","under","total","type_odds","insert","time",
"one_tm_id","one_tm","one_team","two_tm_id","two_tm","two_team"])
req2 = requests.get('https://api-prod.sprtactn.co/web/v1/scoreboard/mlb?bookIds=21,1,55&date=' + datetime.datetime.now().strftime('%Y%m%d') + '')
odd = req2.json()['games']
for info in odd:
time = info['start_time']
status = info['status']
away_rot = info['away_rotation_number']
home_rot = info['home_rotation_number']
away_team_id = info['away_team_id']
home_team_id = info['home_team_id']
teams = info['teams']
vegas = info['odds']
one_team = teams[0]['full_name']
one_tm = teams[0]['abbr']
one_tm_id = teams[0]['id']
two_team = teams[1]['full_name']
two_tm = teams[1]['abbr']
two_tm_id = teams[1]['id']
for odds in vegas:
ml_away = odds['ml_away']
ml_home = odds['ml_home']
type_odds = odds['type']
insert = odds['inserted']
book_ids = odds['book_id']
spread_away = odds['spread_away']
spread_home = odds['spread_home']
spread_away_line = odds['spread_away_line']
spread_home_line = odds['spread_home_line']
over = odds['over']
under = odds['under']
total = odds['total']
print(book_ids, status, away_team_id, away_rot, ml_away, spread_away, spread_away_line,
home_team_id, home_rot, ml_home, spread_home, spread_home_line,
over, under, total, type_odds, insert, time, one_tm_id, one_tm, one_team, two_tm_id, two_tm, two_team)
writer.writerow([book_ids, status, away_team_id, away_rot, ml_away, spread_away, spread_away_line,
home_team_id, home_rot, ml_home, spread_home, spread_home_line,
over, under, total, type_odds, insert, time, one_tm_id, one_tm, one_team, two_tm_id, two_tm, two_team])
答案 0 :(得分:1)
一种简单的方法是使用Pendulum库(https://pendulum.eustace.io/docs/)。
根据这些计算start
和end
次,然后计算period
次。执行for循环,为period
中的每个时间间隔提供一个日期时间项,在这种情况下为每天。
在循环中,您可以设置日期时间的格式,以提供在URL中使用的字符串以及命名csv,如图所示。
>>> import pendulum
>>> start = pendulum.datetime(2018, 3, 29)
>>> end = pendulum.today()
>>> period = pendulum.period(start, end)
>>> for dt in period.range('days'):
... dt.format('%Y%m%d')
... break
...
'20180329'