[英]Python GET Rest API - package is downloaded but I cannot open it (invalid)
[英]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.