|
@@ -492,56 +492,59 @@ class TongCe:
|
|
|
# 筛选写入data的数据
|
|
|
count = 0
|
|
|
no_data_case = []
|
|
|
- for ci in crowd_info:
|
|
|
- insert_data = []
|
|
|
- crowd_info_id = ci[0]
|
|
|
- zhifuli = ci[1]
|
|
|
- age = ci[2]
|
|
|
- city = ci[3]
|
|
|
- juzhujiegou = ci[4]
|
|
|
- data = self.filter_people(city, age, zhifuli, juzhujiegou)
|
|
|
- data.sort(key=lambda obj: obj[0])
|
|
|
- for key, questions_data in groupby(data, key=lambda obj: obj[0]):
|
|
|
- question_data_list = []
|
|
|
- for qd in questions_data:
|
|
|
- question_data_list.append([x for x in qd])
|
|
|
- rule_id = self.get_rule_id(key, rule)
|
|
|
- if rule_id is not None:
|
|
|
- question_people = len(question_data_list)
|
|
|
- if question_people > 0:
|
|
|
- question_data_list.sort(key=lambda obj: obj[3])
|
|
|
- for option_name, option_data_1 in groupby(question_data_list, key=lambda obj: obj[3]):
|
|
|
- option_data_list = []
|
|
|
- for od in option_data_1:
|
|
|
- option_data_list.append([x for x in od])
|
|
|
- if len(option_data_list) > 0:
|
|
|
- match_id = 0
|
|
|
- option_name_alias = option_name
|
|
|
- option_id = option_data_list[0][2]
|
|
|
- for md in self.match_data_info:
|
|
|
- if str(md[1]) == str(key) and str(md[2]) == str(option_id):
|
|
|
- match_id = md[0]
|
|
|
- option_name_alias = md[3]
|
|
|
- insert_data.append([crowd_info_id, match_id, rule_id, option_name_alias, len(option_data_list)])
|
|
|
- else:
|
|
|
- no_data_case.append([zhifuli, city, age, juzhujiegou, option_name])
|
|
|
- else:
|
|
|
- no_data_case.append([zhifuli, city, age, juzhujiegou, key])
|
|
|
- count += len(insert_data)
|
|
|
- self.linshi_db.add_some(self.sql_6, insert_data)
|
|
|
- isnert_data_all = []
|
|
|
- quanliang_scores = self.scores()
|
|
|
- for q_s in quanliang_scores:
|
|
|
- rule_id = self.get_rule_id(q_s[0], rule)
|
|
|
- if rule_id:
|
|
|
- for md in self.match_data_info:
|
|
|
- if str(md[1]) == str(q_s[0]) and str(md[2]) == str(q_s[1]):
|
|
|
- match_id = md[0]
|
|
|
- option_name_alias = md[3]
|
|
|
- isnert_data_all.append([5405, match_id, rule_id, option_name_alias, q_s[2]])
|
|
|
- self.linshi_db.add_some(self.sql_6, isnert_data_all)
|
|
|
- count += len(isnert_data_all)
|
|
|
- return {'写入库中的数据': count, '无数据': len(no_data_case)}
|
|
|
+ try:
|
|
|
+ for ci in crowd_info:
|
|
|
+ insert_data = []
|
|
|
+ crowd_info_id = ci[0]
|
|
|
+ zhifuli = ci[1]
|
|
|
+ age = ci[2]
|
|
|
+ city = ci[3]
|
|
|
+ juzhujiegou = ci[4]
|
|
|
+ data = self.filter_people(city, age, zhifuli, juzhujiegou)
|
|
|
+ data.sort(key=lambda obj: obj[0])
|
|
|
+ for key, questions_data in groupby(data, key=lambda obj: obj[0]):
|
|
|
+ question_data_list = []
|
|
|
+ for qd in questions_data:
|
|
|
+ question_data_list.append([x for x in qd])
|
|
|
+ rule_id = self.get_rule_id(key, rule)
|
|
|
+ if rule_id is not None:
|
|
|
+ question_people = len(question_data_list)
|
|
|
+ if question_people > 0:
|
|
|
+ question_data_list.sort(key=lambda obj: obj[3])
|
|
|
+ for option_name, option_data_1 in groupby(question_data_list, key=lambda obj: obj[3]):
|
|
|
+ option_data_list = []
|
|
|
+ for od in option_data_1:
|
|
|
+ option_data_list.append([x for x in od])
|
|
|
+ if len(option_data_list) > 0:
|
|
|
+ match_id = 0
|
|
|
+ option_name_alias = option_name
|
|
|
+ option_id = option_data_list[0][2]
|
|
|
+ for md in self.match_data_info:
|
|
|
+ if str(md[1]) == str(key) and str(md[2]) == str(option_id):
|
|
|
+ match_id = md[0]
|
|
|
+ option_name_alias = md[3]
|
|
|
+ insert_data.append([crowd_info_id, match_id, rule_id, option_name_alias, len(option_data_list)])
|
|
|
+ else:
|
|
|
+ no_data_case.append([zhifuli, city, age, juzhujiegou, option_name])
|
|
|
+ else:
|
|
|
+ no_data_case.append([zhifuli, city, age, juzhujiegou, key])
|
|
|
+ count += len(insert_data)
|
|
|
+ self.linshi_db.add_some(self.sql_6, insert_data)
|
|
|
+ isnert_data_all = []
|
|
|
+ quanliang_scores = self.scores()
|
|
|
+ for q_s in quanliang_scores:
|
|
|
+ rule_id = self.get_rule_id(q_s[0], rule)
|
|
|
+ if rule_id:
|
|
|
+ for md in self.match_data_info:
|
|
|
+ if str(md[1]) == str(q_s[0]) and str(md[2]) == str(q_s[1]):
|
|
|
+ match_id = md[0]
|
|
|
+ option_name_alias = md[3]
|
|
|
+ isnert_data_all.append([5405, match_id, rule_id, option_name_alias, q_s[2]])
|
|
|
+ self.linshi_db.add_some(self.sql_6, isnert_data_all)
|
|
|
+ count += len(isnert_data_all)
|
|
|
+ return {'写入库中的数据': count, '无数据': len(no_data_case)}
|
|
|
+ except Exception as e:
|
|
|
+ return str(e)
|
|
|
|
|
|
sql_20 = '''
|
|
|
UPDATE mvp_page_display_rule
|