这是我的json数据文件:
https://drive.google.com/open?id=1JrACwfGnCFGL6UU0VbUOa9hclJ4AFSDt
我需要按照要求的格式显示此文件:
features = [
"date", "meantempm", "meandewptm", "meanpressurem", "maxhumidity",
"minhumidity", "maxtempm", "mintempm", "maxdewptm", "mindewptm",
"maxpressurem", "minpressurem", "precipm"
]
DailySummary = namedtuple('DailySummary', features)
def extract_weather_data(url, api_key, target_date, days):
"""Call Wunderground API to extract weather data."""
records = []
bar = ProgBar(days)
for _ in range(days):
request = BASE_URL.format(API_KEY, target_date.strftime('%Y%m%d'))
response = requests.get(request)
if response.status_code == 200:
data = response.json()['history']['dailysummary'][0]
records.append(DailySummary(
date=target_date,
meantempm=data['meantempm'],
meandewptm=data['meandewptm'],
meanpressurem=data['meanpressurem'],
maxhumidity=data['maxhumidity'],
minhumidity=data['minhumidity'],
maxtempm=data['maxtempm'],
mintempm=data['mintempm'],
maxdewptm=data['maxdewptm'],
mindewptm=data['mindewptm'],
maxpressurem=data['maxpressurem'],
minpressurem=data['minpressurem'],
precipm=data['precipm']))
time.sleep(6)
bar.update()
target_date += timedelta(days=1)
return records
records[:5]
使用json文件所需的输出:
[DailySummary(date = datetime.datetime(2015,10,3,22,13,6,559948),meantempm = '21',meandewptm ='6',meanpressurem ='1012',最大湿度= '63' ,minhumidity = '20',maxtempm = '29',mintempm = '14',maxdewptm ='8',mindewptm ='4',maxpressurem ='1014',minpressurem ='1010',precipm ='0.00'), DailySummary(date = datetime.datetime(2015、10、4、22、13、6、559948),meantempm ='22',meandewptm ='8',meanpressurem ='1015',最大湿度= '63',最小湿度=' 25',maxtempm = '29',mintempm = '15',maxdewptm = '10',mindewptm ='7',maxpressurem ='1017',minpressurem ='1013',precipm ='0.00'), DailySummary(date = datetime.datetime(2015,10,5,5,22,13,6,559948),meantempm = '24',meandewptm = '11',meanpressurem ='1018',最大湿度= '64',最低湿度=' 35',maxtempm = '29',mintempm = '19',maxdewptm = '13',mindewptm ='8',maxpressurem ='1020',minpressurem ='1015',precipm ='0.00'), DailySummary(date = datetime.datetime(2015,10,6,6,22,13,6,559948),meantempm = '23',meandewptm = '11',meanpressurem ='1019',maxhumidity = '73',minhumidity =' 25',maxtempm = '30',mintempm = '17',maxdewptm = '14',mindewptm ='8',maxpressurem ='1022',minpressurem ='1017',precipm ='0.00'), DailySummary(date = datetime.datetime(2015、10、7、22、13、6、559948),meantempm ='24',meandewptm ='13',meanpressurem ='1017',最大湿度= '72',最小湿度=' 31',maxtempm = '32',mintempm = '17',maxdewptm = '16',mindewptm = '10',maxpressurem ='1020',minpressurem ='1015',precipm ='0.00')]