i did as you instructed me but the error persists.
This is the example code im talking about
Session = sessionmaker()
session = Session()
mapper = inspect(ThermafuserReading)
readings = list()
header = ["hex(id(object))", "is transient", "is pending", "is persistent",
"is detached", "is deleted", "is in session"]
#Open the csv file
csvFilePath = "/Users/davidlaredorazo/Box Sync/Data/Zone4/1C1A/1C1A
2016-12-31.csv"
with open(csvFilePath, 'r') as csvfile:
reader = csv.reader(csvfile)
componentId = 1
count = 0
reading = ThermafuserReading(None, componentId)
for row in reader:
if count == 0:
count += 1
continue
#print(row)
timestamp = parse(row[0], None, ignoretz = True)
reading.timestamp = timestamp
new_object = copy.copy(reading)
new_object.timestamp = timestamp
readings.append(new_object)
#print(new_object, mapper.identity_key_from_instance(new_object))
#session.add(new_object)
row_format = "{:>15}" * (len(header) + 1)
print("Before adding to the session")
print(row_format.format("", *header))
for reading in readings:
insp = inspect(reading)
row = [hex(id(reading)), insp.transient, insp.pending, insp.persistent,
insp.detached, insp.deleted, reading in session]
print(row_format.format("", *row))
session.add_all(readings)
print("\n#Elements in the session")
print(session)
for element in session:
print(element)
print("\nAfter adding to the session")
print(row_format.format("", *header))
for reading in readings:
insp = inspect(reading)
row = [hex(id(reading)), insp.transient, insp.pending, insp.persistent,
insp.detached, insp.deleted, reading in session]
print(row_format.format("", *row))
These are some results I obtained by comparing wheter the objects in my
list are in the session or not
<https://lh3.googleusercontent.com/-88hJ0sjxu2M/WWhUYMhRSiI/AAAAAAAAAg0/kXliLRlFjZU-ZYwpMhUD5w_tVgNTOf9dgCLcBGAs/s1600/session_error1.png>
<https://lh3.googleusercontent.com/-Vvuk4avT75o/WWhUj98bouI/AAAAAAAAAg4/FoPlU2HC3lk-GOC6qD1jihZKWIC-0SqXwCLcBGAs/s1600/session_error2.png>
<https://lh3.googleusercontent.com/-mkaRplvoUes/WWhUoF74sqI/AAAAAAAAAg8/uztkwWPac-I1WxRDdj8-mQK2mgi7Fu9mACLcBGAs/s1600/session_error3.png>
As you can observe, according to the results above the objects are indeed
inside the session but for some reason when I try to print whats contained
in the session by doing
for element in session:
print(element)
I just get a None, what am I doing wrong? I dont see anything wrong in my
code, I hope you can help me clarify this. Thanks in advance.
I will attach both my code and the tests data in case you want to try it by
yourself.
On Thursday, July 13, 2017 at 8:27:04 AM UTC-5, Mike Bayer wrote:
>
> On Thu, Jul 13, 2017 at 12:31 AM, David Laredo Razo
> <[email protected] <javascript:>> wrote:
> > Hello, I am using SQLAlchemy version 1.2.0b1
> >
> >
> >
> > So far so go, the problem arises when I add readings to the session via
> > session.add_all(readings). I only get the last element in my list added,
> > e.g.
>
> there's no reason at all that would happen, other than what's in
> "readings" is not what you'd expect.
>
> try iterating through every element in "readings" after the add_all(),
> and do "obj in session".
>
> If some of these objects were from a different session, then they may
> be "detached" as you put them in in which case they'd go into
> session.identity_map, not session.new.
>
>
>
>
> >
> > for new in session.new:
> > print(new, mapper.identity_key_from_instance(new_object))
> >
> > <ThermafuserReading(thermafuserId = '1', timestamp = '2017-01-01
> 00:00:00')>
> > (<class '__main__.ThermafuserReading'>, (datetime.datetime(2017, 1, 1,
> 0,
> > 0), 1))
> >
> >
> > Why is this behavior? I have a test code and the test data in case its
> > needed to reproduce this behavior
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > --
> > SQLAlchemy -
> > The Python SQL Toolkit and Object Relational Mapper
> >
> > http://www.sqlalchemy.org/
> >
> > To post example code, please provide an MCVE: Minimal, Complete, and
> > Verifiable Example. See http://stackoverflow.com/help/mcve for a full
> > description.
> > ---
> > You received this message because you are subscribed to the Google
> Groups
> > "sqlalchemy" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an
> > email to [email protected] <javascript:>.
> > To post to this group, send email to [email protected]
> <javascript:>.
> > Visit this group at https://groups.google.com/group/sqlalchemy.
> > For more options, visit https://groups.google.com/d/optout.
>
--
SQLAlchemy -
The Python SQL Toolkit and Object Relational Mapper
http://www.sqlalchemy.org/
To post example code, please provide an MCVE: Minimal, Complete, and Verifiable
Example. See http://stackoverflow.com/help/mcve for a full description.
---
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.
from sqlalchemy import Column, Integer, String, DateTime, Float, Boolean, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
import csv
import sqlalchemy
from sqlalchemy.orm import sessionmaker
from dateutil.parser import *
import copy
from sqlalchemy.inspection import inspect
from sqlalchemy.orm.util import identity_key
Base = declarative_base()
class ThermafuserReading(Base):
"""Class to map to the Thermafuser Readings table in the HVAC DB"""
__tablename__ = 'Thermafuser_Reading'
_timestamp = Column('Time_stamp', DateTime, primary_key = True)
_thermafuserId = Column('ThermafuserId', Integer, ForeignKey("Thermafuser.ThermafuserId"), primary_key = True)
#Constructor
def __init__(self, timestamp, thermafuserId):
self._thermafuserId = thermafuserId
self._timestamp = timestamp
#properties
@property
def thermafuserId(self):
return self._thermafuserId
@thermafuserId.setter
def thermafuserId(self, value):
self._thermafuserId = value
@property
def timestamp(self):
return self._timestamp
@timestamp.setter
def timestamp(self, value):
self._timestamp = value
def __str__(self):
return "<ThermafuserReading(thermafuserId = '%s', timestamp = '%s')>" % (self._thermafuserId, str(self._timestamp))
def main():
Session = sessionmaker()
session = Session()
mapper = inspect(ThermafuserReading)
readings = list()
header = ["hex(id(object))", "is transient", "is pending", "is persistent", "is detached", "is deleted", "is in session"]
#Open the csv file
csvFilePath = "/Users/davidlaredorazo/Box Sync/Data/Zone4/1C1A/1C1A 2016-12-31.csv"
with open(csvFilePath, 'r') as csvfile:
reader = csv.reader(csvfile)
componentId = 1
count = 0
reading = ThermafuserReading(None, componentId)
for row in reader:
if count == 0:
count += 1
continue
#print(row)
timestamp = parse(row[0], None, ignoretz = True)
reading.timestamp = timestamp
new_object = copy.copy(reading)
new_object.timestamp = timestamp
readings.append(new_object)
#print(new_object, mapper.identity_key_from_instance(new_object))
#session.add(new_object)
row_format = "{:>15}" * (len(header) + 1)
print("Before adding to the session")
print(row_format.format("", *header))
for reading in readings:
insp = inspect(reading)
row = [hex(id(reading)), insp.transient, insp.pending, insp.persistent, insp.detached, insp.deleted, reading in session]
print(row_format.format("", *row))
session.add_all(readings)
print("\n#Elements in the session")
print(session)
for element in session:
print(element)
print("\nAfter adding to the session")
print(row_format.format("", *header))
for reading in readings:
insp = inspect(reading)
row = [hex(id(reading)), insp.transient, insp.pending, insp.persistent, insp.detached, insp.deleted, reading in session]
print(row_format.format("", *row))
main()
Time,['#1c1a_thermafuser/m073', '#1c1a_thermafuser/m135', '#1c1a_thermafuser/m134', '#1c1a_thermafuser/m078', '#1c1a_thermafuser/m190', '#1c1a_thermafuser/m186']
2016-12-31 00:05:00,21.0,90.0,60.0,0.0,65.9,62.5,
2016-12-31 00:10:00,21.0,90.0,60.0,0.0,66.2,62.4,
2016-12-31 00:15:00,21.0,90.0,60.0,0.0,66.1,62.5,
2016-12-31 00:20:00,21.0,90.0,60.0,0.0,65.9,62.3,
2016-12-31 00:25:00,21.0,90.0,60.0,0.0,65.7,62.5,
2016-12-31 00:30:00,21.0,90.0,60.0,0.0,65.9,61.9,
2016-12-31 00:35:00,21.0,90.0,60.0,0.0,65.9,61.9,
2016-12-31 00:40:00,21.0,90.0,60.0,0.0,65.7,62.2,
2016-12-31 00:45:00,21.0,90.0,60.0,0.0,65.9,61.9,
2016-12-31 00:50:00,21.0,90.0,60.0,0.0,65.7,62.2,
2016-12-31 00:55:00,21.0,90.0,60.0,0.0,65.7,61.8,
2016-12-31 01:00:00,21.0,90.0,60.0,0.0,65.7,62.2,
2016-12-31 01:05:00,21.0,90.0,60.0,0.0,65.7,61.8,
2016-12-31 01:10:00,21.0,90.0,60.0,0.0,65.7,62.2,
2016-12-31 01:15:00,21.0,90.0,60.0,0.0,65.6,62.2,
2016-12-31 01:20:00,21.0,90.0,60.0,0.0,65.6,62.2,
2016-12-31 01:25:00,21.0,90.0,60.0,0.0,65.6,62.2,
2016-12-31 01:30:00,21.0,90.0,60.0,0.0,65.6,62.0,
2016-12-31 01:35:00,21.0,90.0,60.0,0.0,65.4,62.0,
2016-12-31 01:40:00,21.0,90.0,60.0,0.0,65.4,61.9,
2016-12-31 01:45:00,21.0,90.0,60.0,0.0,65.6,61.6,
2016-12-31 01:50:00,21.0,90.0,60.0,0.0,65.4,62.0,
2016-12-31 01:55:00,21.0,90.0,60.0,0.0,65.6,62.2,
2016-12-31 02:00:00,21.0,90.0,60.0,0.0,65.4,62.0,
2016-12-31 02:05:00,21.0,90.0,60.0,0.0,65.6,62.2,
2016-12-31 02:10:00,21.0,90.0,60.0,0.0,65.4,62.0,
2016-12-31 02:15:00,21.0,90.0,60.0,0.0,65.4,61.9,
2016-12-31 02:20:00,21.0,90.0,60.0,0.0,65.6,61.6,
2016-12-31 02:25:00,21.0,90.0,60.0,0.0,65.4,62.0,
2016-12-31 02:30:00,21.0,90.0,60.0,0.0,65.4,61.9,
2016-12-31 02:35:00,21.0,90.0,60.0,0.0,65.4,61.5,
2016-12-31 02:40:00,21.0,90.0,60.0,0.0,65.4,61.9,
2016-12-31 02:45:00,21.0,90.0,60.0,0.0,65.4,61.9,
2016-12-31 02:50:00,21.0,90.0,60.0,0.0,65.6,61.6,
2016-12-31 02:55:00,21.0,90.0,60.0,0.0,65.6,61.5,
2016-12-31 03:00:00,21.0,90.0,60.0,0.0,65.4,61.9,
2016-12-31 03:05:00,21.0,90.0,60.0,0.0,65.4,61.9,
2016-12-31 03:10:00,21.0,90.0,60.0,0.0,65.3,61.9,
2016-12-31 03:15:00,21.0,90.0,60.0,0.0,65.4,61.5,
2016-12-31 03:20:00,21.0,90.0,60.0,0.0,65.3,61.7,
2016-12-31 03:25:00,21.0,90.0,60.0,0.0,65.3,61.7,
2016-12-31 03:30:00,21.0,90.0,60.0,0.0,65.4,61.5,
2016-12-31 03:35:00,21.0,90.0,60.0,0.0,65.4,61.5,
2016-12-31 03:40:00,21.0,90.0,60.0,0.0,65.4,61.5,
2016-12-31 03:45:00,21.0,90.0,60.0,0.0,65.4,61.9,
2016-12-31 03:50:00,21.0,90.0,60.0,0.0,65.3,61.7,
2016-12-31 03:55:00,21.0,90.0,60.0,0.0,64.9,60.9,
2016-12-31 04:00:00,21.0,90.0,60.0,0.0,65.1,61.2,
2016-12-31 04:05:00,21.0,90.0,60.0,0.0,65.3,61.2,
2016-12-31 04:10:00,21.0,90.0,60.0,0.0,65.3,61.3,
2016-12-31 04:15:00,21.0,90.0,60.0,0.0,65.1,61.6,
2016-12-31 04:20:00,21.0,90.0,60.0,0.0,65.4,61.3,
2016-12-31 04:25:00,21.0,90.0,60.0,0.0,65.3,61.3,
2016-12-31 04:30:00,21.0,90.0,60.0,0.0,65.3,61.7,
2016-12-31 04:35:00,21.0,90.0,60.0,0.0,65.3,61.3,
2016-12-31 04:40:00,21.0,90.0,60.0,0.0,65.3,61.3,
2016-12-31 04:45:00,21.0,90.0,60.0,0.0,65.3,61.7,
2016-12-31 04:50:00,21.0,90.0,60.0,0.0,65.4,61.3,
2016-12-31 04:55:00,21.0,90.0,60.0,0.0,65.3,61.7,
2016-12-31 05:00:00,21.0,90.0,60.0,0.0,65.3,61.3,
2016-12-31 05:05:00,21.0,90.0,60.0,0.0,65.1,61.2,
2016-12-31 05:10:00,21.0,90.0,60.0,0.0,65.3,61.3,
2016-12-31 05:15:00,21.0,90.0,60.0,0.0,65.3,61.3,
2016-12-31 05:20:00,21.0,90.0,60.0,0.0,65.1,61.6,
2016-12-31 05:25:00,21.0,90.0,60.0,0.0,65.3,61.3,
2016-12-31 05:30:00,21.0,90.0,60.0,0.0,65.3,61.7,
2016-12-31 05:35:00,21.0,90.0,60.0,0.0,65.3,61.9,
2016-12-31 05:40:00,21.0,90.0,60.0,0.0,65.3,62.0,
2016-12-31 05:45:00,21.0,90.0,60.0,0.0,65.4,62.3,
2016-12-31 05:50:00,21.0,90.0,60.0,0.0,65.4,62.3,
2016-12-31 05:55:00,21.0,90.0,60.0,0.0,65.7,62.5,
2016-12-31 06:00:00,21.0,90.0,60.0,0.0,65.6,62.3,
2016-12-31 06:05:00,21.0,90.0,60.0,0.0,65.6,62.3,
2016-12-31 06:10:00,21.0,90.0,60.0,0.0,65.6,62.3,
2016-12-31 06:15:00,21.0,90.0,60.0,0.0,65.6,62.3,
2016-12-31 06:20:00,21.0,90.0,60.0,0.0,65.6,62.5,
2016-12-31 06:25:00,21.0,90.0,60.0,0.0,65.6,62.5,
2016-12-31 06:30:00,21.0,90.0,60.0,0.0,65.7,62.5,
2016-12-31 06:35:00,21.0,90.0,60.0,0.0,65.7,62.6,
2016-12-31 06:40:00,21.0,90.0,60.0,0.0,65.9,62.5,
2016-12-31 06:45:00,21.0,90.0,60.0,0.0,65.9,62.6,
2016-12-31 06:50:00,21.0,90.0,60.0,0.0,65.9,62.8,
2016-12-31 06:55:00,21.0,90.0,60.0,0.0,65.9,62.8,
2016-12-31 07:00:00,21.0,90.0,60.0,0.0,65.9,62.8,
2016-12-31 07:05:00,21.0,90.0,60.0,0.0,66.1,62.6,
2016-12-31 07:10:00,21.0,90.0,60.0,0.0,65.9,62.8,
2016-12-31 07:15:00,21.0,90.0,60.0,0.0,65.9,62.8,
2016-12-31 07:20:00,21.0,90.0,60.0,0.0,65.9,62.6,
2016-12-31 07:25:00,21.0,90.0,60.0,0.0,66.1,63.0,
2016-12-31 07:30:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 07:35:00,21.0,90.0,60.0,0.0,66.1,62.8,
2016-12-31 07:40:00,21.0,90.0,60.0,0.0,66.2,63.0,
2016-12-31 07:45:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 07:50:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 07:55:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 08:00:00,21.0,90.0,60.0,0.0,66.1,62.8,
2016-12-31 08:05:00,21.0,90.0,60.0,0.0,66.1,62.6,
2016-12-31 08:10:00,21.0,90.0,60.0,0.0,66.1,62.8,
2016-12-31 08:15:00,21.0,90.0,60.0,0.0,65.9,62.6,
2016-12-31 08:20:00,21.0,90.0,60.0,0.0,65.9,62.6,
2016-12-31 08:25:00,21.0,90.0,60.0,0.0,66.1,62.8,
2016-12-31 08:30:00,21.0,90.0,60.0,0.0,66.1,63.1,
2016-12-31 08:35:00,21.0,90.0,60.0,0.0,66.1,63.1,
2016-12-31 08:40:00,21.0,90.0,60.0,0.0,66.1,63.1,
2016-12-31 08:45:00,21.0,90.0,60.0,0.0,65.9,63.1,
2016-12-31 08:50:00,21.0,90.0,60.0,0.0,66.2,63.0,
2016-12-31 08:55:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 09:00:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 09:05:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 09:10:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 09:15:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 09:20:00,21.0,90.0,60.0,0.0,65.9,62.8,
2016-12-31 09:25:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 09:30:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 09:35:00,21.0,90.0,60.0,0.0,65.7,62.6,
2016-12-31 09:40:00,21.0,90.0,60.0,0.0,65.9,62.6,
2016-12-31 09:45:00,21.0,90.0,60.0,0.0,65.9,62.8,
2016-12-31 09:50:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 09:55:00,21.0,90.0,60.0,0.0,65.6,62.8,
2016-12-31 10:00:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 10:05:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 10:10:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 10:15:00,21.0,90.0,60.0,0.0,65.9,62.8,
2016-12-31 10:20:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 10:25:00,21.0,90.0,60.0,0.0,65.7,63.4,
2016-12-31 10:30:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 10:35:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 10:40:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 10:45:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 10:50:00,21.0,90.0,60.0,0.0,65.4,63.0,
2016-12-31 10:55:00,21.0,90.0,60.0,0.0,65.4,63.0,
2016-12-31 11:00:00,21.0,90.0,60.0,0.0,65.6,61.5,
2016-12-31 11:05:00,21.0,90.0,60.0,0.0,65.4,61.9,
2016-12-31 11:10:00,21.0,90.0,60.0,0.0,65.1,60.4,
2016-12-31 11:15:00,21.0,90.0,60.0,0.0,65.1,61.6,
2016-12-31 11:20:00,21.0,90.0,60.0,0.0,65.4,62.5,
2016-12-31 11:25:00,21.0,90.0,60.0,0.0,65.6,62.6,
2016-12-31 11:30:00,21.0,90.0,60.0,0.0,65.6,63.2,
2016-12-31 11:35:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 11:40:00,21.0,90.0,60.0,0.0,66.1,63.1,
2016-12-31 11:45:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 11:50:00,21.0,90.0,60.0,0.0,65.7,63.4,
2016-12-31 11:55:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 12:00:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 12:05:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 12:10:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 12:15:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 12:20:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 12:25:00,21.0,90.0,60.0,0.0,65.6,62.2,
2016-12-31 12:30:00,21.0,90.0,60.0,0.0,65.6,62.5,
2016-12-31 12:35:00,21.0,90.0,60.0,0.0,65.4,62.5,
2016-12-31 12:40:00,21.0,90.0,60.0,0.0,65.4,61.5,
2016-12-31 12:45:00,21.0,90.0,60.0,0.0,65.6,62.3,
2016-12-31 12:50:00,21.0,90.0,60.0,0.0,65.4,62.5,
2016-12-31 12:55:00,21.0,90.0,60.0,0.0,65.6,63.2,
2016-12-31 13:00:00,21.0,90.0,60.0,0.0,65.6,62.6,
2016-12-31 13:05:00,21.0,90.0,60.0,0.0,65.6,62.6,
2016-12-31 13:10:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 13:15:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 13:20:00,21.0,90.0,60.0,0.0,65.7,62.5,
2016-12-31 13:25:00,21.0,90.0,60.0,0.0,65.6,62.8,
2016-12-31 13:30:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 13:35:00,21.0,90.0,60.0,0.0,65.7,63.4,
2016-12-31 13:40:00,21.0,90.0,60.0,0.0,65.4,63.5,
2016-12-31 13:45:00,21.0,90.0,60.0,0.0,65.9,63.1,
2016-12-31 13:50:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 13:55:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 14:00:00,21.0,90.0,60.0,0.0,65.7,62.6,
2016-12-31 14:05:00,21.0,90.0,60.0,0.0,65.9,62.6,
2016-12-31 14:10:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 14:15:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 14:20:00,21.0,90.0,60.0,0.0,65.7,63.4,
2016-12-31 14:25:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 14:30:00,21.0,90.0,60.0,0.0,65.9,63.1,
2016-12-31 14:35:00,21.0,90.0,60.0,0.0,65.7,63.4,
2016-12-31 14:40:00,21.0,90.0,60.0,0.0,65.9,63.1,
2016-12-31 14:45:00,21.0,90.0,60.0,0.0,65.7,63.4,
2016-12-31 14:50:00,0.0,90.0,60.0,1.0,0.0,72.98,
2016-12-31 14:55:00,21.0,90.0,60.0,0.0,65.7,63.4,
2016-12-31 15:00:00,21.0,90.0,60.0,0.0,65.6,62.8,
2016-12-31 15:05:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 15:10:00,21.0,90.0,60.0,0.0,65.9,63.1,
2016-12-31 15:15:00,21.0,90.0,60.0,0.0,66.1,63.7,
2016-12-31 15:20:00,21.0,90.0,60.0,0.0,66.1,63.1,
2016-12-31 15:25:00,21.0,90.0,60.0,0.0,66.1,63.3,
2016-12-31 15:30:00,21.0,90.0,60.0,0.0,66.1,63.7,
2016-12-31 15:35:00,21.0,90.0,60.0,0.0,66.1,63.7,
2016-12-31 15:40:00,21.0,90.0,60.0,0.0,66.1,63.8,
2016-12-31 15:45:00,21.0,90.0,60.0,0.0,66.1,63.7,
2016-12-31 15:50:00,21.0,90.0,60.0,0.0,66.1,63.3,
2016-12-31 15:55:00,21.0,90.0,60.0,0.0,66.1,63.7,
2016-12-31 16:00:00,21.0,90.0,60.0,0.0,66.1,63.7,
2016-12-31 16:05:00,21.0,90.0,60.0,0.0,66.1,63.7,
2016-12-31 16:10:00,21.0,90.0,60.0,0.0,66.2,63.8,
2016-12-31 16:15:00,21.0,90.0,60.0,0.0,66.1,63.7,
2016-12-31 16:20:00,21.0,90.0,60.0,0.0,66.1,63.7,
2016-12-31 16:25:00,21.0,90.0,60.0,0.0,66.1,63.3,
2016-12-31 16:30:00,21.0,90.0,60.0,0.0,66.1,63.3,
2016-12-31 16:35:00,21.0,90.0,60.0,0.0,66.1,63.1,
2016-12-31 16:40:00,21.0,90.0,60.0,0.0,66.1,63.1,
2016-12-31 16:45:00,21.0,90.0,60.0,0.0,66.1,63.7,
2016-12-31 16:50:00,21.0,90.0,60.0,0.0,66.2,63.4,
2016-12-31 16:55:00,21.0,90.0,60.0,0.0,66.2,63.1,
2016-12-31 17:00:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 17:05:00,21.0,90.0,60.0,0.0,66.2,63.1,
2016-12-31 17:10:00,21.0,90.0,60.0,0.0,66.1,63.7,
2016-12-31 17:15:00,21.0,90.0,60.0,0.0,65.9,63.8,
2016-12-31 17:20:00,21.0,90.0,60.0,0.0,66.1,63.0,
2016-12-31 17:25:00,21.0,90.0,60.0,0.0,65.7,62.6,
2016-12-31 17:30:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 17:35:00,21.0,90.0,60.0,0.0,65.9,62.5,
2016-12-31 17:40:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 17:45:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 17:50:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 17:55:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 18:00:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 18:05:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 18:10:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 18:15:00,21.0,90.0,60.0,0.0,65.7,63.4,
2016-12-31 18:20:00,21.0,90.0,60.0,0.0,65.6,63.5,
2016-12-31 18:25:00,21.0,90.0,60.0,0.0,65.9,63.5,
2016-12-31 18:30:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 18:35:00,21.0,90.0,60.0,0.0,66.1,63.0,
2016-12-31 18:40:00,21.0,90.0,60.0,0.0,65.9,63.1,
2016-12-31 18:45:00,21.0,90.0,60.0,0.0,65.9,62.8,
2016-12-31 18:50:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 18:55:00,21.0,90.0,60.0,0.0,66.1,63.0,
2016-12-31 19:00:00,21.0,90.0,60.0,0.0,66.1,63.1,
2016-12-31 19:05:00,21.0,90.0,60.0,0.0,65.9,63.1,
2016-12-31 19:10:00,21.0,90.0,60.0,0.0,65.9,62.8,
2016-12-31 19:15:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 19:20:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 19:25:00,21.0,90.0,60.0,0.0,65.9,63.0,
2016-12-31 19:30:00,21.0,90.0,60.0,0.0,65.7,63.4,
2016-12-31 19:35:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 19:40:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 19:45:00,21.0,90.0,60.0,0.0,65.7,62.8,
2016-12-31 19:50:00,21.0,90.0,60.0,0.0,65.7,63.4,
2016-12-31 19:55:00,21.0,90.0,60.0,0.0,65.7,63.0,
2016-12-31 20:00:00,21.0,90.0,60.0,0.0,65.9,62.6,
2016-12-31 20:05:00,21.0,90.0,60.0,0.0,65.6,62.6,
2016-12-31 20:10:00,21.0,90.0,60.0,0.0,65.7,62.5,
2016-12-31 20:15:00,21.0,90.0,60.0,0.0,65.4,63.0,
2016-12-31 20:20:00,21.0,90.0,60.0,0.0,65.3,63.0,
2016-12-31 20:25:00,21.0,90.0,60.0,0.0,65.4,63.2,
2016-12-31 20:30:00,21.0,90.0,60.0,0.0,65.6,62.8,
2016-12-31 20:35:00,21.0,90.0,60.0,0.0,65.4,63.4,
2016-12-31 20:40:00,21.0,90.0,60.0,0.0,65.3,63.2,
2016-12-31 20:45:00,21.0,90.0,60.0,0.0,65.6,62.6,
2016-12-31 20:50:00,21.0,90.0,60.0,0.0,65.9,62.6,
2016-12-31 20:55:00,21.0,90.0,60.0,0.0,65.9,62.6,
2016-12-31 21:00:00,21.0,90.0,60.0,0.0,65.7,62.6,
2016-12-31 21:05:00,21.0,90.0,60.0,0.0,65.6,62.3,
2016-12-31 21:10:00,21.0,90.0,60.0,0.0,65.9,62.6,
2016-12-31 21:15:00,21.0,90.0,60.0,0.0,65.3,62.9,
2016-12-31 21:20:00,21.0,90.0,60.0,0.0,65.6,62.8,
2016-12-31 21:25:00,21.0,90.0,60.0,0.0,65.6,62.6,
2016-12-31 21:30:00,0.0,90.0,60.0,1.0,0.0,72.98,
2016-12-31 21:35:00,21.0,90.0,60.0,0.0,65.4,63.2,
2016-12-31 21:40:00,27.0,90.0,60.0,0.0,65.6,63.5,
2016-12-31 21:45:00,21.0,90.0,60.0,0.0,65.6,62.6,
2016-12-31 21:50:00,21.0,-1.0,-1.0,0.0,65.7,62.6,
2016-12-31 21:55:00,21.0,-1.0,-1.0,0.0,65.7,62.6,
2016-12-31 22:00:00,21.0,-1.0,-1.0,0.0,65.6,62.6,
2016-12-31 22:05:00,21.0,-1.0,-1.0,0.0,65.6,62.8,
2016-12-31 22:10:00,21.0,-1.0,-1.0,0.0,65.6,62.5,
2016-12-31 22:15:00,21.0,-1.0,-1.0,0.0,65.7,62.6,
2016-12-31 22:20:00,21.0,90.0,60.0,0.0,65.6,62.8,
2016-12-31 22:25:00,21.0,90.0,60.0,0.0,65.6,62.6,
2016-12-31 22:30:00,21.0,90.0,60.0,0.0,65.6,62.6,
2016-12-31 22:35:00,21.0,90.0,60.0,0.0,65.6,62.6,
2016-12-31 22:40:00,21.0,90.0,60.0,0.0,65.7,62.5,
2016-12-31 22:45:00,21.0,90.0,60.0,0.0,65.6,62.5,
2016-12-31 22:50:00,21.0,90.0,60.0,0.0,65.6,62.5,
2016-12-31 22:55:00,21.0,90.0,60.0,0.0,65.6,62.8,
2016-12-31 23:00:00,21.0,90.0,60.0,0.0,65.4,63.0,
2016-12-31 23:05:00,21.0,90.0,60.0,0.0,65.6,62.3,
2016-12-31 23:10:00,21.0,90.0,60.0,0.0,65.6,62.5,
2016-12-31 23:15:00,21.0,90.0,60.0,0.0,65.4,62.3,
2016-12-31 23:20:00,21.0,90.0,60.0,0.0,65.6,62.2,
2016-12-31 23:25:00,21.0,90.0,60.0,0.0,65.4,61.9,
2016-12-31 23:30:00,21.0,90.0,60.0,0.0,65.1,61.9,
2016-12-31 23:35:00,21.0,90.0,60.0,0.0,65.1,61.7,
2016-12-31 23:40:00,21.0,90.0,60.0,0.0,64.9,62.0,
2016-12-31 23:45:00,21.0,90.0,60.0,0.0,64.4,62.4,
2016-12-31 23:50:00,21.0,90.0,60.0,0.0,64.9,61.6,
2016-12-31 23:55:00,21.0,90.0,60.0,0.0,64.8,61.4,
2017-01-01 00:00:00,21.0,90.0,60.0,0.0,64.8,60.9,