преобразование файла данных Python JSON в мой список этой необходимой формы - PullRequest
0 голосов
/ 04 ноября 2018

Вот мой файл данных 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 ', maxhumidity = '63' , minhumidity = '20 ', maxtempm = '29', mintempm = '14 ', maxdewptm =' 8 ', mindewptm =' 4 ', maxpressurem =' 1014 ', minpressurem =' 1010 ', осадков = =' 0,00 '), DailySummary (date = datetime.datetime (2015, 10, 4, 22, 13, 6, 559948), meantempm = '22 ', meandewptm =' 8 ', meanpressurem =' 1015 ', maxhumidity = '63', minhumidity = ' 25 ', maxtempm = '29', mintempm = '15 ', maxdewptm = '10', mindewptm = '7', maxpressurem = '1017', minpressurem = '1013', осадков = = '0,00'), DailySummary (date = datetime.datetime (2015, 10, 5, 22, 13, 6, 559948), meantempm = '24 ', meandewptm = '11', meanpressurem = '1018', maxhumidity = '64 ', minhumidity =' 35 ', maxtempm = '29', mintempm = '19 ', maxdewptm = '13', mindewptm = '8', maxpressurem = '1020', minpressurem = '1015', осадков = = '0,00'), DailySummary (date = datetime.datetime (2015, 10, 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', осадков = = '0,00'), DailySummary (date = datetime.datetime (2015, 10, 7, 22, 13, 6, 559948), meantempm = '24 ', meandewptm = '13', meanpressurem = '1017', maxhumidity = '72 ', minhumidity =' 31 ', maxtempm = '32', mintempm = '17 ', maxdewptm = '16', mindewptm = '10 ', maxpressurem =' 1020 ', minpressurem =' 1015 ', осадков = =' 0,00 ')]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...