コード例 #1
0
ファイル: FileUtils.py プロジェクト: exsonic/CorpusAnalysis
def loadEngagerAndCompanyToDB(filePath):
	with open(filePath, 'rU') as f:
		db = DBController()
		reader = csv.reader(f)
		for i, line in enumerate(reader):
			line = [word.strip() for word in line]
			if i == 0:
				continue
			if db.getEngagerByName(line[5]) is None:
				engagerDict = {'name' : line[5], 'lastName' : line[6], 'type' : ENGAGER_CEO, 'gender' : line[-1]}
				db.insertEngager(engagerDict)
			if db.getCompanyByName(line[3]) is None:
				engagerDict = db.getEngagerByName(line[5])
				companyDict = {'_id' : int(line[2]), 'name' : line[3], 'shortName' : line[4], 'code' : line[0], 'CEO' : {line[1] : engagerDict['_id']}}
				db.insertCompany(companyDict)
			else:
				engagerDict = db.getEngagerByName(line[5])
				companyDict = db.getCompanyByName(line[3])
				companyDict['CEO'][line[1]] = engagerDict['_id']
				db.updateCompanyCEO(companyDict['_id'], companyDict['CEO'])


		for name in ['CEO', 'Executive']:
			engagerDict = {'name' : name, 'lastName' : name, 'type' : ENGAGER_CEO}
			db.insertEngager(engagerDict)
		for name in ['analyst']:
			engagerDict = {'name' : name, 'lastName' : name, 'type' : ENGAGER_ANALYST}
			db.insertEngager(engagerDict)