def __init__(self, *fields, **attributes): if self.abstract: raise TypeError('abstract nodes are not instanciable') if fields: if len(fields) != len(self.fields): if not self.fields: raise TypeError('%r takes 0 arguments' % self.__class__.__name__) raise TypeError('%r takes 0 or %d argument%s' % (self.__class__.__name__, len(self.fields), len(self.fields) != 1 and 's' or '')) for name, arg in izip(self.fields, fields): setattr(self, name, arg) for attr in self.attributes: setattr(self, attr, attributes.pop(attr, None)) if attributes: raise TypeError('unknown attribute %r' % next(iter(attributes)))
def __init__(self, *fields, **attributes): if self.abstract: raise TypeError('abstract nodes are not instanciable') if fields: if len(fields) != len(self.fields): if not self.fields: raise TypeError('%r takes 0 arguments' % self.__class__.__name__) raise TypeError('%r takes 0 or %d argument%s' % ( self.__class__.__name__, len(self.fields), len(self.fields) != 1 and 's' or '' )) for name, arg in izip(self.fields, fields): setattr(self, name, arg) for attr in self.attributes: setattr(self, attr, attributes.pop(attr, None)) if attributes: raise TypeError('unknown attribute %r' % next(iter(attributes)))
#Removes the NaN value objects from JSON def nanRemover(data): with open(data, 'r') as j: json_dict = json.loads(j.read()) for typeObj in json_dict: resource_node = typeObj['resource'] resource_node['data'] = [ item for item in resource_node['data'] if len([val for val in item['value'] if isnan(val)]) == 0 ] with open('Result5.json', 'w') as r: r.write(json.dumps(json_dict, indent=4)) if __name__ == '__main__': os.makedirs('Files', exist_ok=True) os.makedirs('File', exist_ok=True) time_convert() file_list = os.listdir(r"File") a = izip(*csv.reader(open("lakeside_upstream_TF.csv", "r"))) csv.writer(open("Files/ColtoRow.csv", "w")).writerows(a) formatter("Files/ColtoRow.csv") add_DeviceName("Files/Out.csv") update_CSV("Files/Out.csv") joinFinal("Files/Out1.csv", file_list) nanRemover("Files/Data.json")