簡體   English   中英

Noaa Api 與 Python。 下載了數據集,我將如何打開它們?

[英]Noaa Api with Python. Downloaded the datasets, how will I open them?

我試圖從 NOAA 訪問數據集,用於一個項目。 我已經能夠下載 json 文件,但我不知道如何打開我打印出來的所需文件。

url = "http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCNDMS"
headers = {"token":"my token"}
response = json.loads(requests.get(url, "dataset", headers = headers).text)
response = response['results']
response = response[0]
print(response)

這是我的輸出:

{'uid': 'gov.noaa.ncdc:C00861', 'mindate': '1763-01-01', 'maxdate': '2018-04-22', 'name': 'Daily Summaries', 'datacoverage': 1, 'id': 'GHCND'}

我如何訪問該數據集中的數據,因為我希望將它們變成 Pandas DataFrame

您的輸出是一個字典,可以通過df = pd.DataFrame([response])直接將其轉換為 pandas 數據幀 -注意,我將此字典作為列表傳遞給 pandas DataFrame 構造函數。

或者您可以定制您的網址以獲取所需的信息。 在下面的示例中,我從指定的數據集和日期范圍中獲取數據,這些數據很容易收集/編輯。

似乎 NOAA 已在某個時候更新了他們的 api 格式,並且那里的許多材料不再有效,因此其他人可能會收到此示例代碼的錯誤。 如果您剛剛開始,這種格式將返回一個帶有結果的 json 文件,希望您可以從那里調整它:

import requests
import pandas as pd
import json
from datetime import datetime

token = 'yourtoken'

url = "http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCNDMS&startdate=1776-07-04&enddate=1776-09-04"
headers = {"token":token}

r = requests.get(url, "dataset", headers = headers).text

response = json.loads(r)
response = response['results']
response = response[0]
print(response)

df=pd.DataFrame([response])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM