里斯本市有關于城市周圍傳感器的幾個引數的開放資料。JSON 查詢如下
http://opendata-cml.qart.pt/measurements/RULAEQ0001?startDate=202104010000&endDate=202108310000
這將回傳在這些日期之間的RULAEQ車站注冊噪音水平0001YYYYMMDDHHMM
全市有80個監測站??,我想獲取每個監測站的資料。電臺編號從 0001 到 0080。
在 python 中自動化這個程序的最佳方法是什么?
先感謝您。
注 1:我的代碼適用于一個查詢
# -*- coding: utf-8 -*-
# Import libraries
import pandas as pd
import urllib.request, json
from flatten_json import flatten
# Query URL
url = 'http://opendata-cml.qart.pt/measurements/RULAEQ0001?startDate=202104010000&endDate=202108310000'
# Read JSON from URL and decode
with urllib.request.urlopen(url) as url:
data = json.loads(url.read().decode())
# Flatten JSON data
data_flattened = [flatten(d) for d in data]
# Create dataframe
df = pd.DataFrame(data_flattened)
# Print Dataframe
print(df)
注2:和往常一樣,這是一個非盈利專案,不會進行商業開發。
uj5u.com熱心網友回復:
# -*- coding: utf-8 -*-
# Import libraries
import pandas as pd
import urllib.request, json
from flatten_json import flatten
for station in list(range(1, 80)):
# Query URL
url = f'http://opendata-cml.qart.pt/measurements/RULAEQ{str(station).zfill(4)}?startDate=202104010000&endDate=202108310000'
print(station)
# Read JSON from URL and decode
with urllib.request.urlopen(url) as url:
data = json.loads(url.read().decode())
# Flatten JSON data
data_flattened = [flatten(d) for d in data]
# Create dataframe
df = pd.DataFrame(data_flattened)
# Print Dataframe
print(df)
for station in list(range(1, 80)): 將在 1 到 80 之間回圈
url = f'http://opendata-cml.qart.pt/measurements/RULAEQ{str(station).zfill(4)}?startDate=202104010000&endDate=202108310000' 將使用該 id 并用 0 填充字串以使其長度為 4 位。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/347952.html
