def import_careers_from_file(self,path): f = open(path,'rU') c = csv.DictReader(f) for row in c: career = Career() career.short_name = row['short_name'] career.long_name = row['long_name'] career.save() if row['titles'] is not None and row['titles'] is not "": new_titles = row['titles'].split(',') for t in new_titles: career.add_pos_title(t) career.save()
def import_careers_from_url(self,path): data = urllib2.urlopen(path).read() c = csv.DictReader([data]) for row in c: career = Career() career.short_name = row['short_name'] career.long_name = row['long_name'] career.save() if row['titles'] is not None and row['titles'] is not "": new_titles = row['titles'].split(',') for t in new_titles: career.add_pos_title(t) career.save()
def import_census_matching_data(self,path): # initiate career dict career_positions_dict = {} # open file, conver to csv DictReader object f = open(path,'rU') c = csv.DictReader(f) # loop through each row in the file for row in c: title = row['2010 OCCUPATION TITLE'] code = row['2010 Census Occupation Code'] if row['2010 Census Occupation Code']: # format position title for t in self.CENSUS_REMOVE_LIST: m = re.search(t,title) if m: title = title[:m.start()] # check to see if it's on stop list if title not in self.CENSUS_STOP_LIST: if code not in career_positions_dict: # print title career_positions_dict[code] = [title] elif title not in career_positions_dict[code]: # print title career_positions_dict[code].append(title) # print career_positions_dict[code] # add each title to career for k,v in career_positions_dict.items(): print k + ": " + str(v) # check to see if career already exists try: career = Career.objects.get(census_code=k) except MultipleObjectsReturned: mult_careers = Career.objects.filter(census_code=k) career = mult_careers[0] except: career = Career() career.census_code = k career.save() for pos in v: career.add_pos_title(pos) career.save()