python json数据文件转换为此所需形式的我的列表

时间:2018-11-04 14:25:33

标签: python datetime

这是我的json数据文件:

https://drive.google.com/open?id=1JrACwfGnCFGL6UU0VbUOa9hclJ4AFSDt

我需要按照要求的格式显示此文件:

here data is called using the api call but i need this using json file with out using api and same format as using api

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')]

0 个答案:

没有答案