9.7 KiB
9.7 KiB
In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/健康体质检测人员名单(西藏销售).xlsx')
sheet = wb.active
# sheets = wb.sheetnames
person = {}
for n in range(2, sheet.max_row+1):
if sheet.cell(n,1).value is not None:
code = int(sheet.cell(n, 1).value)
person.setdefault(code, {})
dict1 = {}
dict1['name'] = sheet.cell(n, 2).value
if sheet.cell(n, 3).value ==1:
sex = '男'
else:
sex = '女'
dict1['sex'] = sex
birth = str(sheet.cell(n, 4).value).split()[0]
dict1['birth'] = birth
dict1['unit'] = sheet.cell(n, 6).value
if sheet.cell(n,5).value is not None:
dict1['phone'] = str(sheet.cell(n, 5).value)
person[code] = dict1
filename = 'data/西藏销售人员名单.json'
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print('ok')In [ ]:
import openpyxl
import json
import datetime
wb = openpyxl.load_workbook('data/西藏健康体质检测人员名单.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
person = {}
for n in range(2, sheet.max_row+1):
if sheet.cell(n,7).value is not None and sheet.cell(n,4).value is not None:
bh = int(sheet.cell(n, 7).value)
person.setdefault(bh, {})
dict1 = {}
dict1['name'] = sheet.cell(n, 2).value
dict1['code'] = sheet.cell(n, 1).value
if sheet.cell(n, 3).value ==1:
sex = '男'
else:
sex = '女'
dict1['sex'] = sex
birth = str(sheet.cell(n, 4).value).split()[0]
if len(birth) == 2:
dict1['age'] = int(birth)
else:
birth.replace('/','-')
birth = birth.split('-')
nian = int(birth[0].strip())
yue = int(birth[1].strip())
ri = int(birth[2].strip())
#print(k,nian,yue,ri)
days = (datetime.date(2023, 5, 31)-datetime.date(nian,yue,ri)).days
dict1['age'] = round(days/365)
if sheet.cell(n,5).value is not None:
dict1['phone'] = str(sheet.cell(n, 5).value)
person[bh] = dict1
filename = 'data/西藏手工问卷人员名单.json'
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print('ok')In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/西藏手工记录.xlsx')
sheet = wb['Sheet1']
dict1 = {}
data1 =list(sheet.values)
list_bh = data1[0][1:]
del data1[0]
for i in range(1,len(list_bh)+1):
list2 = []
dict1.setdefault(int(list_bh[i-1]),{})
for item in data1:
list2.append(item[i])
dict1[int(list_bh[i-1])]['wenjuan'] = list2
print(dict1)
filename = 'data/西藏脊柱问卷原始信息.json'
with open(filename, 'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print('ok')In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/西藏手工记录.xlsx')
sheet = wb['Sheet2']
filename = 'data/西藏脊柱问卷原始信息.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
data1 =list(sheet.values)
for item in data1:
bh = str(item[0])
dict1.setdefault(bh,{})
xm = item[1]
result = item[2]
dict1[bh][xm] = result
filename = 'data/西藏脊柱问卷原始信息.json'
with open(filename, 'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print('ok')In [ ]:
import json
filename = 'data/西藏手工问卷人员名单.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
filename = 'data/西藏脊柱问卷原始信息.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k, v in dict1.items():
s = ''
if k in dict2.keys():
if dict2[str(k)]['sex'] =='男':
sex = "m"
else:
sex = "f"
dict3 = {}
list_mx = []
name = dict2[str(k)]['name']
list_mx.append(f'"name":"{name}"')
list_mx.append(f'"Gender":"{sex}"')
age = dict2[str(k)]['age']
list_mx.append(f'"Age":{age}')
dict3['surveyId'] = "zsyxz1"
dict3['name'] = dict2[str(k)]['name']
code = dict2[str(k)]['code']
for item in v.keys():
if item == 'wenjuan':
for i in range(0,21):
if v[item][i] ==1:
result = 'ture'
else:
result ='false'
item_name = 'q'+str(i+1)
list_mx.append(f'"{item_name}":{result}')
for i in range(23,25):
if v[item][i] ==1:
result = 'ture'
else:
result ='false'
item_name = 'q'+str(i)
list_mx.append(f'"{item_name}":{result}')
if sex == 'f':
item_name = 'q25a'
if v[item][21] ==1:
result = 'ture'
else:
result ='false'
list_mx.append(f'"{item_name}":{result}')
else:
item_name = 'q22'
if v[item][22] ==1:
result = 'ture'
else:
result ='false'
list_mx.append(f'"{item_name}":{result}')
item_name = 'q25b'
if v[item][25] ==1:
result = 'ture'
else:
result ='false'
list_mx.append(f'"{item_name}":{result}')
else:
item_name = item
list_mx.append(f'"{item_name}":{v[item]}')
ss = ','.join(list_mx)
ss ='{'+ss+'}'
dict3['data'] = ss
sj = '2023-06-01 20:00:00'
s= s+f'("zsyxz1","{name}","{code}",\'{ss}\',"{sj}"),'
print(s)In [ ]: