download_cloud.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import requests
  2. import csv
  3. import os
  4. os.makedirs('data', exist_ok=True)
  5. url_token = 'https://ems.zhpowering.com/public/user/login'
  6. headers_token = {
  7. 'Content-Type': 'application/json'
  8. }
  9. account = {
  10. 'account': 'wanggao',
  11. 'pwd': 'e10adc3949ba59abbe56e057f20f883e'
  12. }
  13. response = requests.post(url_token, json=account, headers=headers_token)
  14. print(response.text)
  15. response_token=response.json()
  16. token = response_token['data']['token']
  17. print("Get Token Successfully:", token)
  18. headers_data = {
  19. 'Authorization': token
  20. }
  21. project_id='6d2012e5f3a4436499d9e2a9fb15596e'
  22. device_id='1407'
  23. key_target='com_ap'
  24. start_time='2024-01-24 00:00:00'
  25. end_time='2024-01-24 23:59:59'
  26. url = 'https://ems.zhpowering.com/api/seqData/fieldValues?projId=%s&deviceId=%s&key=%s&startTime=%s&endTime=%s'%(project_id,device_id,key_target,start_time,end_time)
  27. response = requests.get(url, headers=headers_data)
  28. if response.status_code == 200:
  29. data = response.json()
  30. for entry in data['data']:
  31. date = entry['date']
  32. fold_path_data='data/%s_%s'%(key_target,device_id)
  33. os.makedirs(fold_path_data, exist_ok=True)
  34. csv_file_path = f'data/%s_%s/{date}.csv'%(key_target,device_id)
  35. rows = []
  36. for value_entry in entry['values']:
  37. time = value_entry['time']
  38. value = value_entry['value']
  39. rows.append([time, value])
  40. with open(csv_file_path, 'w', newline='', encoding='utf-8') as csvfile:
  41. csv_writer = csv.writer(csvfile)
  42. csv_writer.writerow(['Time', 'Value'])
  43. csv_writer.writerows(rows)
  44. print(f"Data for date {date} written to {csv_file_path}")
  45. else:
  46. print(f"Error: {response.status_code}")