""" code roscop """ import csv import shelve import sys class db: def __setattr__(self, name, value): self.__dict__[name] = value # class roscop # ------------ class Roscop: # constructor with values by default def __init__(self, file): self.file = file self.hash = {} # call by print() def __str__(self): # print("%s:" % row[key], end='') # print() return 'Class Roscop, file: %s, size = %d' % (self.file, len(self.hash)) def disp(self, theKey): #(a,b) = self.hash[theKey].items() print(self.hash.items()) # for attr, value in d.__dict__.items(): #print(attr, value) # print(d.__dict__) # read code roscop file def read(self): d = db() with open(self.file, 'rt') as f: reader = csv.DictReader(f, delimiter=';') #print("%s" % (reader.fieldnames)) for key in reader.fieldnames: d.key = key for row in reader: theKey = row[reader.fieldnames[0]] for k in reader.fieldnames: d.k = row[k] self.hash[theKey] = d #print("Key : %s" % theKey) return # for testing in standalone context # --------------------------------- if __name__ == "__main__": from roscop import Roscop r = Roscop("code_roscop.csv") r.read() print(r) r.disp('TEMP') r.disp('PSAL')