def _fetch_data(self, dataset, query=None):
files = [(y, m) for y in query['years'] for m in query['months']]
frames = []
# Download and clean every monthly Excel file
for file in files:
year, month = file
url = self.BASE_URL.format(year=year, month=MONTHS[month])
frame = self._clean_data(pd.read_excel(url), year, month)
frames.append(frame)
# Yield individual rows of type Result from the dataframe
raw_data = pd.concat(frames)
for i, row in raw_data.iterrows():
val = row.pop('value')
yield Result(val, json.loads(row.to_json()))
评论列表
文章目录