Untitled
unknown
plain_text
2 years ago
5.6 kB
5
Indexable
# -*- coding: utf-8 -*- """ Created on Fri Mar 24 17:15:12 2023 @author: jackk """ import pandas as pd import io import sharepy import base64 import numpy as np import matplotlib as plt # --------- GET FILE FROM SHAREPOINT --------------------- # Set Log in for Sharepoint sharepoint_user = 'ee20kg@leeds.ac.uk' # email adress encoded_password = 'TTNpbmVTY2gwMGwmIQ==' # password, but encoded for privacy url = 'https://leeds365.sharepoint.com' # base sharepoint url # Set Files name for Sharepoint file_url = '/sites/TEAM-Shazaib-ProjectSpace/Shared%20Documents/General/spen_farm/' sensors = ['SL048', 'SL049', 'SL051', 'SL052', 'SL057', 'SL058', 'SL059', 'SL062', 'SL063', 'SL065', 'SL068'] days = ['20230222', '20230223', '20230224', '20230225', '20230226', '20230227', '20230228', '20230301', '20230302', '20230303', '20230304', '20230305', '20230306', '20230307'] datas = [] # Set Files name for Sharepoint file_url2 = '/sites/TEAM-SEEAQProjects-UKRI-GLASGOW/Shared%20Documents/UKRI%20-%20GLASGOW/sensor_data/' sensors2 = ['SL043', 'SL048', 'SL049', 'SL051', 'SL057', 'SL058', 'SL059', 'SL061', 'SL062', 'SL063', 'SL065', 'SL068'] days2 = ['02/2023-02-22', '02/2023-02-23', '02/2023-02-24', '02/2023-02-25', '02/2023-02-26', '02/2023-02-27', '02/2023-02-28', '03/2023-03-01', '03/2023-03-02', '03/2023-03-03', '03/2023-03-04', '03/2023-03-05', '03/2023-03-06', '03/2023-03-07'] datas2 = [] s = sharepy.connect(url, username=sharepoint_user, password=base64.b64decode(encoded_password).decode('ascii')) # connect to url with login details # Access each of the files and turn to csvs for sensor in sensors: for day in days: r = s.get(url+file_url+sensor+"/"+day+".csv") f = io.BytesIO(r.content) df1 = (pd.read_csv(f)) for column in df1: if column == "UTCDateTime": df1 = df1.rename(columns={'UTCDateTime': 'date'}) # rename columns df1['date'] = pd.to_datetime(df1['date'], errors='coerce') df1['pm2_5_atm'] = np.where(df1['pm2_5_atm'] > 50, 50, df1['pm2_5_atm']) datas.append(df1) # Access each of the files and turn to csvs for sensor2 in sensors2: for day2 in days2: r2 = s.get(url+file_url2+sensor2+"/2023/"+day2+".csv") f2 = io.BytesIO(r2.content) df2 = (pd.read_csv(f2)) df2 = df2.rename(columns={'PM2.5 A (CF=ATM) (ug/m3)': 'pm2_5_atm'}) df2['date'] = pd.to_datetime(df2['date'], errors='coerce') df2['pm2_5_atm'] = np.where(df2['pm2_5_atm'] > 50, 50, df2['pm2_5_atm']) datas2.append(df2) # --------- PLOT --------------------- sensor48data = datas[0:13] sensor49data = datas[14:27] sensor51data = datas[28:41] sensor52data = datas[42:55] sensor57data = datas[56:69] sensor58data = datas[70:83] sensor59data = datas[84:97] sensor62data = datas[98:111] sensor63data = datas[112:125] sensor65data = datas[126:139] sensor68data = datas[139:152] S48 = pd.concat(sensor48data) S49 = pd.concat(sensor49data) S51 = pd.concat(sensor51data) S52 = pd.concat(sensor52data) S57 = pd.concat(sensor57data) S58 = pd.concat(sensor58data) S59 = pd.concat(sensor59data) S62 = pd.concat(sensor62data) S63 = pd.concat(sensor63data) S65 = pd.concat(sensor65data) S68 = pd.concat(sensor68data) sensor243data = datas2[0:13] sensor248data = datas2[14:27] sensor249data = datas2[28:41] sensor251data = datas2[42:55] sensor257data = datas2[56:69] sensor258data = datas2[70:83] sensor259data = datas2[84:97] sensor261data = datas2[98:111] sensor262data = datas2[112:125] sensor263data = datas2[126:139] sensor265data = datas2[139:152] sensor268data = datas2[139:152] S243 = pd.concat(sensor243data) S248 = pd.concat(sensor248data) S249 = pd.concat(sensor249data) S251 = pd.concat(sensor251data) S257 = pd.concat(sensor257data) S258 = pd.concat(sensor258data) S259 = pd.concat(sensor259data) S261 = pd.concat(sensor261data) S262 = pd.concat(sensor262data) S263 = pd.concat(sensor263data) S265 = pd.concat(sensor265data) S268 = pd.concat(sensor268data) mergedS48 = pd.concat([S248, S48]) mergedS49 = pd.concat([S249, S49]) mergedS51 = pd.concat([S251, S51]) mergedS57 = pd.concat([S257, S57]) mergedS58 = pd.concat([S258, S58]) mergedS59 = pd.concat([S259, S59]) mergedS62 = pd.concat([S262, S62]) mergedS63 = pd.concat([S263, S63]) mergedS65 = pd.concat([S265, S65]) mergedS68 = pd.concat([S268, S68]) ax = S243.plot(color="red", x='date', y='pm2_5_atm', xlabel='time', ylabel="pm2_5_atm", label='Sensor 43') mergedS48.plot(color="yellow", x='date', y='pm2_5_atm', label='Sensor 48', ax=ax) mergedS49.plot(color="pink", x='date', y='pm2_5_atm', label='Sensor 49', ax=ax) mergedS51.plot(color="green", x='date', y='pm2_5_atm', label='Sensor 51', ax=ax) S52.plot(color="orange", x='date', y='pm2_5_atm', label='Sensor 52', ax=ax) mergedS57.plot(color="purple", x='date', y='pm2_5_atm', label='Sensor 57', ax=ax) mergedS58.plot(color="blue", x='date', y='pm2_5_atm', label='Sensor 58', ax=ax) mergedS59.plot(color="darkgreen", x='date', y='pm2_5_atm', label='Sensor 59', ax=ax) S261.plot(color="darkblue", x='date', y='pm2_5_atm', label='Sensor 61', ax=ax) mergedS62.plot(color="grey", x='date', y='pm2_5_atm', label='Sensor 62', ax=ax) mergedS63.plot(color="black", x='date', y='pm2_5_atm', label='Sensor 63', ax=ax) mergedS65.plot(color="brown", x='date', y='pm2_5_atm', label='Sensor 65', ax=ax) mergedS68.plot(color="violet", x='date', y='pm2_5_atm', label='Sensor 68', ax=ax) ax.legend(loc='center left', bbox_to_anchor=(1.02, 0.5), ncol=1)
Editor is loading...