<p><strong>您应该这样做:</strong></p>
<blockquote>
<p><strong>It will generate monthly JSON file using API response. If you want data in single file then let me know.</strong><br/>
<strong>It will generate a JSON file like this name <code>data-2021-01.json</code> for each month</strong></p>
</blockquote>
<p><strong>单个JSON文件的代码:</strong></p>
<pre class="lang-py prettyprint-override"><code>import calendar
from urllib.request import urlopen
import json
year = 2021
json_data = []
for month in range(1, 13):
r = calendar.monthrange(year, month)
start = f"{year}-{month:0>2d}-01"
end = f"{year}-{month:0>2d}-{r[1]}"
url = f"apilink/getKwh?token={token}&clientId={clientId}&siteId={siteId}&from={start}&to={end}"
response = urlopen(url)
data = json.loads(response.read())
json_data.append(data)
with open('data.json', 'w') as file:
json.dump(json_data,file, indent=4)
</code></pre>
<p><strong>每月JSON的代码</strong></p>
<pre class="lang-py prettyprint-override"><code>import calendar
from urllib.request import urlopen
import json
year = 2021
json_data = []
for month in range(1, 13):
r = calendar.monthrange(year, month)
start = f"{year}-{month:0>2d}-01"
end = f"{year}-{month:0>2d}-{r[1]}"
filename = f'data-{year}-{month:0>2d}.json'
url = f"apilink/getKwh?token={token}&clientId={clientId}&siteId={siteId}&from={start}&to={end}"
response = urlopen(url)
data = json.loads(response.read())
json_data.append(data)
with open(filename, 'w') as file:
json.dump(data, file, indent=4)
</code></pre>