This commit is contained in:
512song committed 2023-11-27 17:54:04 +08:00
1 parent 3b4acc857c
commit 2d6db59b1c
4 files changed
+350 -117

No files matched your search

+159 -19
View File
@@ -555,28 +555,12 @@
},
{
"cell_type": "code",
"execution_count": 38,
"execution_count": null,
"id": "fbe793e4-04cf-4e7d-8fb8-1776ed474ab9",
"metadata": {
"execution": {
"iopub.execute_input": "2023-11-10T04:50:35.767483Z",
"iopub.status.busy": "2023-11-10T04:50:35.767191Z",
"iopub.status.idle": "2023-11-10T04:50:35.978054Z",
"shell.execute_reply": "2023-11-10T04:50:35.977514Z",
"shell.execute_reply.started": "2023-11-10T04:50:35.767458Z"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"('ptv_0533_jj','段玉华','953','{\"Gender\":\"f\",\"Age\":\"O\",\"q1O\":3,\"q2O\":3,\"q3O\":4,\"q4O\":1,\"q5O\":4,\"q6O\":4,\"q7O\":4,\"q8O\":4,\"q9O\":5,\"q10O\":1,\"q11O\":3,\"q12O\":4,\"q13O\":4,\"q14O\":4,\"q15O\":4,\"q16O\":5,\"q17O\":5,\"q18O\":4,\"q19O\":3,\"q20O\":4,\"q21O\":3,\"q22O\":4,\"q23O\":5,\"q24O\":5,\"q25O\":4,\"q26O\":4,\"q27O\":3,\"q28O\":3,\"q29O\":3,\"q30O\":3,\"q1\":3,\"q3\":2,\"q4\":1,\"q5\":3,\"q6\":3,\"q8\":3,\"q10\":3,\"q13\":4,\"q14\":3,\"q15\":3,\"q16\":2,\"q17\":2,\"q18\":2,\"q19\":2,\"q20\":1,\"q22\":2,\"q23\":3,\"q25\":2,\"q26\":2,\"q27\":2,\"q28\":2,\"q29\":2,\"q30\":3,\"q31\":2,\"q32\":2,\"q33\":2,\"q34\":2,\"q35\":3,\"q36\":2,\"q37\":1,\"q38\":2,\"q39\":3,\"q40\":2,\"q41\":1,\"q42\":1,\"q43\":1,\"q44\":3,\"q45\":3,\"q46\":3,\"q47\":3,\"q48\":3,\"q49\":2,\"q50\":3,\"q51\":1,\"q52\":3,\"q53\":1,\"q54\":3,\"q55\":1,\"q56\":1,\"q57\":1,\"q58\":1,\"q59\":1,\"q60\":1,\"qv1\":1,\"qv2\":2,\"qv3\":1,\"qv4\":1,\"qv5\":2,\"qv6\":2,\"qv7\":1,\"qv8\":1,\"qv9\":2,\"qv10\":2,\"qv11\":2,\"qv12\":1,\"qv13\":2,\"qv14\":2,\"qv15\":1,\"qv16\":1,\"qv17\":2,\"qv18\":1,\"qv19\":2,\"qv20\":2,\"qv21\":2,\"qv22\":2,\"qv23\":2,\"qv24\":1,\"qv25\":1,\"qv26\":2}','2023-11-10 12:00:00'),('ptv_0533_jj','孙俊英','329','{\"Gender\":\"f\",\"Age\":\"O\",\"q1O\":1,\"q2O\":1,\"q3O\":1,\"q4O\":1,\"q5O\":5,\"q6O\":5,\"q7O\":5,\"q8O\":5,\"q9O\":5,\"q10O\":1,\"q11O\":5,\"q12O\":5,\"q13O\":5,\"q14O\":5,\"q15O\":5,\"q16O\":5,\"q17O\":5,\"q18O\":1,\"q19O\":4,\"q20O\":5,\"q21O\":5,\"q22O\":5,\"q23O\":5,\"q24O\":5,\"q25O\":5,\"q26O\":4,\"q27O\":4,\"q28O\":2,\"q29O\":4,\"q30O\":5,\"q1\":5,\"q3\":1,\"q4\":3,\"q5\":1,\"q6\":4,\"q8\":4,\"q10\":3,\"q13\":1,\"q14\":3,\"q15\":1,\"q16\":1,\"q17\":3,\"q18\":1,\"q19\":1,\"q20\":1,\"q22\":1,\"q23\":1,\"q25\":1,\"q26\":1,\"q27\":1,\"q28\":1,\"q29\":1,\"q30\":1,\"q31\":1,\"q32\":1,\"q33\":1,\"q34\":1,\"q35\":1,\"q36\":1,\"q37\":1,\"q38\":1,\"q39\":1,\"q40\":1,\"q41\":1,\"q42\":1,\"q43\":1,\"q44\":3,\"q45\":3,\"q46\":1,\"q47\":1,\"q48\":3,\"q49\":1,\"q50\":2,\"q51\":3,\"q52\":1,\"q53\":1,\"q54\":1,\"q55\":3,\"q56\":1,\"q57\":1,\"q58\":1,\"q59\":1,\"q60\":1,\"qv1\":2,\"qv2\":2,\"qv3\":2,\"qv4\":2,\"qv5\":2,\"qv6\":2,\"qv7\":1,\"qv8\":2,\"qv9\":2,\"qv10\":2,\"qv11\":2,\"qv12\":2,\"qv13\":2,\"qv14\":2,\"qv15\":2,\"qv16\":2,\"qv17\":2,\"qv18\":1,\"qv19\":2,\"qv20\":2,\"qv21\":2,\"qv22\":2,\"qv23\":2,\"qv24\":2,\"qv25\":2,\"qv26\":2}','2023-11-10 12:00:00'),('ptv_0533_jj','赵兰芬','1125','{\"Gender\":\"f\",\"Age\":\"O\",\"q1O\":4,\"q2O\":4,\"q3O\":2,\"q4O\":1,\"q5O\":4,\"q6O\":4,\"q7O\":4,\"q8O\":3,\"q9O\":5,\"q10O\":2,\"q11O\":4,\"q12O\":5,\"q13O\":5,\"q14O\":5,\"q15O\":5,\"q16O\":4,\"q17O\":4,\"q18O\":3,\"q19O\":4,\"q20O\":4,\"q21O\":4,\"q22O\":4,\"q23O\":4,\"q24O\":4,\"q25O\":5,\"q26O\":5,\"q27O\":4,\"q28O\":2,\"q29O\":4,\"q30O\":3,\"q1\":3,\"q3\":2,\"q4\":3,\"q5\":2,\"q6\":4,\"q8\":4,\"q10\":3,\"q13\":1,\"q14\":3,\"q15\":2,\"q16\":3,\"q17\":1,\"q18\":1,\"q19\":1,\"q20\":1,\"q22\":4,\"q23\":1,\"q25\":1,\"q26\":3,\"q27\":4,\"q28\":3,\"q29\":3,\"q30\":4,\"q31\":2,\"q32\":4,\"q33\":4,\"q34\":3,\"q35\":4,\"q36\":3,\"q37\":2,\"q38\":4,\"q39\":3,\"q40\":3,\"q41\":1,\"q42\":1,\"q43\":1,\"q44\":4,\"q45\":3,\"q46\":4,\"q47\":4,\"q48\":1,\"q49\":3,\"q50\":1,\"q51\":1,\"q52\":3,\"q53\":3,\"q54\":1,\"q55\":1,\"q56\":1,\"q57\":1,\"q58\":1,\"q59\":1,\"q60\":2,\"qv1\":1,\"qv2\":2,\"qv3\":2,\"qv4\":1,\"qv5\":2,\"qv6\":2,\"qv7\":1,\"qv8\":1,\"qv9\":1,\"qv10\":2,\"qv11\":1,\"qv12\":2,\"qv13\":1,\"qv14\":2,\"qv15\":1,\"qv16\":1,\"qv17\":2,\"qv18\":1,\"qv19\":2,\"qv20\":2,\"qv21\":1,\"qv22\":1,\"qv23\":2,\"qv24\":1,\"qv25\":2,\"qv26\":1}','2023-11-10 12:00:00'),('ptv_0533_jj','王翠华','1608','{\"Gender\":\"f\",\"Age\":\"O\",\"q1O\":1,\"q2O\":1,\"q3O\":1,\"q4O\":1,\"q5O\":5,\"q6O\":5,\"q7O\":5,\"q8O\":5,\"q9O\":5,\"q10O\":1,\"q11O\":5,\"q12O\":5,\"q13O\":5,\"q14O\":5,\"q15O\":5,\"q16O\":5,\"q17O\":5,\"q18O\":1,\"q19O\":3,\"q20O\":5,\"q21O\":5,\"q22O\":5,\"q23O\":5,\"q24O\":5,\"q25O\":5,\"q26O\":4,\"q27O\":4,\"q28O\":2,\"q29O\":4,\"q30O\":5,\"q1\":5,\"q3\":1,\"q4\":3,\"q5\":1,\"q6\":4,\"q8\":4,\"q10\":1,\"q13\":1,\"q14\":1,\"q15\":1,\"q16\":1,\"q17\":3,\"q18\":1,\"q19\":1,\"q20\":1,\"q22\":1,\"q23\":1,\"q25\":1,\"q26\":1,\"q27\":1,\"q28\":1,\"q29\":1,\"q30\":1,\"q31\":1,\"q32\":1,\"q33\":1,\"q34\":1,\"q35\":1,\"q36\":1,\"q37\":1,\"q38\":1,\"q39\":1,\"q40\":1,\"q41\":1,\"q42\":1,\"q43\":1,\"q44\":3,\"q45\":3,\"q46\":1,\"q47\":1,\"q48\":3,\"q49\":1,\"q50\":2,\"q51\":3,\"q52\":1,\"q53\":1,\"q54\":3,\"q55\":5,\"q56\":1,\"q57\":1,\"q58\":1,\"q59\":1,\"q60\":1,\"qv1\":2,\"qv2\":2,\"qv3\":2,\"qv4\":2,\"qv5\":2,\"qv6\":2,\"qv7\":1,\"qv8\":2,\"qv9\":2,\"qv10\":2,\"qv11\":2,\"qv12\":2,\"qv13\":2,\"qv14\":2,\"qv15\":2,\"qv16\":2,\"qv17\":2,\"qv18\":1,\"qv19\":2,\"qv20\":2,\"qv21\":2,\"qv22\":2,\"qv23\":2,\"qv24\":2,\"qv25\":2,\"qv26\":2}','2023-11-10 12:00:00'),('ptv_0533_jj','胡桂香','547','{\"Gender\":\"f\",\"Age\":\"O\",\"q1O\":3,\"q2O\":1,\"q3O\":1,\"q4O\":1,\"q5O\":5,\"q6O\":5,\"q7O\":5,\"Line truncated
"{'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}\n"
]
}
],
"outputs": [],
"source": [
"import openpyxl\n",
"import json\n",
@@ -640,10 +624,166 @@
"print (chardet.detect(str.encode(s)))"
]
},
{
"cell_type": "markdown",
"id": "58417d26-1d6c-4583-ac35-3469fa6b85fd",
"metadata": {},
"source": [
"## 读取读卡系统人员信息"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9a634c3b-6954-4eff-bc1c-3f5e229bc458",
"id": "08e9afb8-a68b-4199-9020-67bc7cd1bd0a",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "b38517cd-268c-4e80-a4f1-002bf45d81f0",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import json\n",
"\n",
"filename = 'data/积家data(1).json'\n",
"with open(filename,'r',encoding='utf8') as fl:\n",
" list1 = json.load(fl)\n",
"i = 1\n",
"for item in list1:\n",
" if item['phone'] !='':\n",
" print(item['name'],item['phone'])"
]
},
{
"cell_type": "markdown",
"id": "4e201e43-3cb1-4511-bf1b-721fc18275db",
"metadata": {},
"source": [
"## 核对报告人员信息"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "f370a41c-4f61-4311-8aa9-95946dca42c7",
"metadata": {
"execution": {
"iopub.execute_input": "2023-11-26T11:36:23.485942Z",
"iopub.status.busy": "2023-11-26T11:36:23.485461Z",
"iopub.status.idle": "2023-11-26T11:36:23.534771Z",
"shell.execute_reply": "2023-11-26T11:36:23.533403Z",
"shell.execute_reply.started": "2023-11-26T11:36:23.485898Z"
},
"tags": []
},
"outputs": [],
"source": [
"import openpyxl\n",
"import os,sys,shutil\n",
"import json\n",
"import math\n",
"import glob\n",
"import random\n",
"from pathlib import Path\n",
"\n",
"filename = 'data/积家data(1).json'\n",
"with open(filename,'r',encoding='utf8') as fl:\n",
" list1 = json.load(fl)\n",
"dict2 = {}\n",
"for item in list1:\n",
" code = str(int(item['id']))\n",
" dict2.setdefault(code,{})\n",
" dict2[code]= {'name':item['name'],'sex':item['gender'],'birth':item['birth'],'phone':item['phone']}\n",
"#print(dict2)\n",
"\n",
"place_id = 698465\n",
"fi_path = '/home/songyi/python/mycrm/flask/pdf/files'\n",
"fls = glob.glob(f'{fi_path}/{str(place_id)}/*.pdf')\n",
"i = 1\n",
"list2 = []\n",
"for fn in fls:\n",
" list3 = []\n",
" fi_name =Path(fn).stem.split('-')[0]\n",
" code = str(int(fi_name))\n",
" if code in dict2.keys():\n",
" list3 = [code,dict2[code]['name'],dict2[code]['sex'],dict2[code]['phone']]\n",
" list2.append(list3)\n",
"filename = 'data/积家村报告明细.xlsx'\n",
"wb = openpyxl.Workbook()\n",
"sheet = wb.active\n",
"\n",
"for row in list2:\n",
" sheet.append(row)\n",
"wb.save(filename) "
]
},
{
"cell_type": "markdown",
"id": "e92098ad-d57b-461b-9ec5-e26d0801ff8d",
"metadata": {},
"source": [
"## 生成报告信息"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "f12f5070-005f-42fb-869c-f0b4b18de4ec",
"metadata": {
"execution": {
"iopub.execute_input": "2023-11-26T11:49:51.275785Z",
"iopub.status.busy": "2023-11-26T11:49:51.275273Z",
"iopub.status.idle": "2023-11-26T11:49:51.316526Z",
"shell.execute_reply": "2023-11-26T11:49:51.315347Z",
"shell.execute_reply.started": "2023-11-26T11:49:51.275718Z"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ok\n"
]
}
],
"source": [
"import openpyxl\n",
"import json\n",
"\n",
"\n",
"wb = openpyxl.load_workbook('data/积家村报告明细.xlsx')\n",
"sheet = wb.active\n",
"# sheets = wb.sheetnames\n",
"person = {}\n",
"\n",
"for n in range(2, sheet.max_row+1):\n",
" code = int(sheet.cell(n, 1).value)\n",
" person.setdefault(code, {})\n",
" dict1 = {}\n",
" dict1['name'] = sheet.cell(n, 2).value \n",
" dict1['sex'] = sheet.cell(n, 3).value \n",
" if sheet.cell(n,4).value is not None:\n",
" dict1['phone'] = sheet.cell(n,4).value\n",
" \n",
" person[code] = dict1\n",
"filename = 'data/积家村报告明细.json'\n",
"with open(filename, 'w') as fl:\n",
" json.dump(person, fl, ensure_ascii=False)\n",
"print('ok')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e80a1efa-9b54-416d-a7e2-fc4ced0adada",
"metadata": {},
"outputs": [],
"source": []