csv.py 864 B

12345678910111213141516171819202122232425
  1. import csv
  2. from structures.measurement import CurrentMeasurement
  3. class Database:
  4. lastMeas = [None] * 16
  5. def __init__(self) -> None:
  6. self.file = open("current.csv", "a", newline='')
  7. self.writer = csv.writer(self.file, delimiter=' ')
  8. def write(self, values: list):
  9. meas: CurrentMeasurement
  10. for i, meas in enumerate(values):
  11. prev : CurrentMeasurement = self.lastMeas[meas.channel]
  12. if prev == None:
  13. self.writer.writerow([meas.timestamp, meas.source, meas.channel, meas.current])
  14. meas.saved = True
  15. elif prev.current != meas.current:
  16. if not prev.saved:
  17. self.writer.writerow([prev.timestamp, prev.source, prev.channel, prev.current])
  18. self.writer.writerow([meas.timestamp, meas.source, meas.channel, meas.current])
  19. meas.saved = True
  20. self.lastMeas[meas.channel] = meas