Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import urllib.request
- import urllib.parse
- import json
- from dateutil import parser
- from datetime import datetime,timedelta
- import smtplib
- from email.mime.multipart import MIMEMultipart
- from email.mime.text import MIMEText
- import sqlite3
- con = sqlite3.connect("/home/azureuser/energidataservice.db")
- cur = con.cursor()
- limit = str(datetime.today().day * 48 + 48*7)
- url = 'https://api.energidataservice.dk/dataset/Elspotprices?filter={"PriceArea":"DK1,DK2"}&limit='+limit
- fileobj = urllib.request.urlopen(url)
- dataresult = fileobj.read()
- result = json.loads(dataresult.decode("utf-8"))
- SpotAddOn = 0.0500
- Transmition = 0.0490
- Systemtarrif = 0.0610
- Balancetarrif = 0.0023
- Elafgift = 0.7630
- for x in reversed(result['records']):
- period = parser.parse(x['HourDK'])
- if period.month < 4 or period.month > 9:
- if period.hour >= 17 and period.hour < 20:
- nettarrif = 0.2970
- else:
- nettarrif = 0.1045
- else:
- nettarrif = 0.1045
- if x['SpotPriceDKK'] == 'None':
- pris = (float(x['SpotPriceDKK'])/1000+nettarrif+SpotAddOn+Transmition+Systemtarrif+Balancetarrif+Elafgift)*1.25
- else:
- pris = (float(x['SpotPriceEUR'])/1000*7.45+nettarrif+SpotAddOn+Transmition+Systemtarrif+Balancetarrif+Elafgift)*1.25
- try:
- cur.execute("INSERT INTO PriceHistory VALUES ('"+x['HourDK']+"','"+x['PriceArea']+"',"+str(x['SpotPriceDKK'])+","+str(x['SpotPriceEUR'])+","+str(pris)+")")
- except:
- pass
- con.commit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement