13 KiB
13 KiB
In [ ]:
import json
import openpyxl
import re
file_name = 'data/药食材性味归经.xlsx'
wb = openpyxl.load_workbook(file_name)
sheet = wb.active
#sheets = wb.sheetnames
list1 = []
dict1 = {}
mo =r'[。入归].+经$'
mo1 = r'[二]'
mo2 = r'[,、;]'
for n in range(2,sheet.max_row):
name = sheet.cell(n,1).value
content = re.findall(mo,sheet.cell(n,2).value)
if len(content) > 0:
l = len(content[0])
gj = re.sub(mo1, '', content[0][1:l-1])
list_gj = re.split(mo2,gj)
dict1[sheet.cell(n,1).value ] = list_gj
#dict1['guijing'] = list_gj
filename = './data/药食材归经.json'
with open(filename,'w') as fl:
json.dump(dict1, fl,ensure_ascii=False)
#print(list1)In [ ]:
import json
filename = 'data/药膳210927.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/药食材归经.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
k_zy = dict2.keys()
dict3 = {}
list1 = []
for item in dict1:
print(item['name'])
list1 = []
#print(i,item['zy'])
for m_zy in item['zy']:
if m_zy in k_zy:
dict4 = {}
print(m_zy,dict2[m_zy])
dict4[m_zy] = dict2[m_zy]
list1.append(dict4)
dict3[item['name']] = list1
filename = './data/药膳药食材.json'
with open(filename,'w') as fl:
json.dump(dict3, fl,ensure_ascii=False)
In [ ]:
import json
import openpyxl
import os,sys,shutil
filename = './data/药膳药食材.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
for k, v in dict1.items():
if len(v) > 0 :
dict2 = {}
#print(k,v)
ys_name = k
dict2.setdefault(ys_name,{})
for item in v:
for k1, v1 in item.items():
for item1 in v1:
dict2[ys_name].setdefault(item1,0)
dict2[ys_name][item1] += 1
list1.append(dict2)
dict_qz = {}
for item in list1:
for k, v in item.items():
qz = sorted(v.items(), key = lambda kv:(kv[1], kv[0]),reverse=True)
dict_qz[k] = qz
#print(dict_qz)
qz_key = dict_qz.keys()
filename = 'data/药膳210927.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
#print(dict1)
wb = openpyxl.Workbook()
sheet = wb.active
sheet['A1'] = '药膳名称'
sheet['B1'] = '来源'
sheet['C1'] = '配方'
sheet['D1'] = '做法'
sheet['E1'] = '功效'
sheet['F1'] = '中药成分'
sheet['G1'] = '归经权重'
i =2
for item in dict1:
sheet[f'A{i}'] = item['name']
sheet[f'B{i}'] = item['source']
sheet[f'C{i}'] = item['pf']
sheet[f'D{i}'] = item['zf']
sheet[f'E{i}'] = item['gx']
sheet[f'F{i}'] = ','.join(item['zy'])
if item['name'] in qz_key:
s = ''
for m_gj in dict_qz[item['name']]:
s = s+ m_gj[0] +'('+str(m_gj[1])+')'
sheet[f'G{i}'] = s
else:
sheet[f'G{i}'] = '暂无归经'
i += 1
wb.save('data/test4.xlsx')
In [ ]:
import json
import re
dict1 = {}
filename = 'file/zhongyi/xuewei.json'
with open(filename,'r',encoding='utf-8') as fl:
for line in fl:
line1 = json.loads(re.sub(r'\xa0','',line))
list1 = line1['tables']
list2 = line1['contents']
dict2 = dict(zip(list1, list2))
#print(line1['title'],dict1)
#print(dict1.keys())
#print(line1)
dict1.setdefault(line1['title'][0],{})
dict1[line1['title'][0]]['简介'] = line1['jj']
dict1[line1['title'][0]]['内容'] = dict2
filename = './file/穴位.json'
with open(filename,'w') as fl:
json.dump(dict1, fl) In [71]:
import json
import openpyxl
filename = 'file/穴位.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'file/穴位简要情况表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet['A1'] = '穴位名称'
sheet['B1'] = '隶属'
sheet['C1'] = '位置'
sheet['D1'] = '主治'
sheet['E1'] = '功能'
sheet['F1'] = '操作'
sheet['G1'] = '主要配伍'
i = 2
for k, v in dict1.items():
sheet[f'A{i}'] = k
sheet[f'B{i}'] = v['简介'][0].split(':')[1]
sheet[f'C{i}'] = v['简介'][1].split(':')[1]
sheet[f'D{i}'] = v['简介'][2].split(':')[1]
sheet[f'E{i}'] = v['简介'][3].split(':')[1]
sheet[f'F{i}'] = v['简介'][4].split(':')[1]
sheet[f'G{i}'] = v['简介'][5].split(':')[1]
i += 1
wb.save(filename)
print('ok!')
[1;31m---------------------------------------------------------------------------[0m
[1;31mIndexError[0m Traceback (most recent call last)
[1;32m~\AppData\Local\Temp/ipykernel_166520/2691368177.py[0m in [0;36m<module>[1;34m[0m
[0;32m 23[0m [0msheet[0m[1;33m[[0m[1;34mf'E{i}'[0m[1;33m][0m [1;33m=[0m [0mv[0m[1;33m[[0m[1;34m'简介'[0m[1;33m][0m[1;33m[[0m[1;36m3[0m[1;33m][0m[1;33m.[0m[0msplit[0m[1;33m([0m[1;34m':'[0m[1;33m)[0m[1;33m[[0m[1;36m1[0m[1;33m][0m[1;33m[0m[1;33m[0m[0m
[0;32m 24[0m [0msheet[0m[1;33m[[0m[1;34mf'F{i}'[0m[1;33m][0m [1;33m=[0m [0mv[0m[1;33m[[0m[1;34m'简介'[0m[1;33m][0m[1;33m[[0m[1;36m4[0m[1;33m][0m[1;33m.[0m[0msplit[0m[1;33m([0m[1;34m':'[0m[1;33m)[0m[1;33m[[0m[1;36m1[0m[1;33m][0m[1;33m[0m[1;33m[0m[0m
[1;32m---> 25[1;33m [0msheet[0m[1;33m[[0m[1;34mf'G{i}'[0m[1;33m][0m [1;33m=[0m [0mv[0m[1;33m[[0m[1;34m'简介'[0m[1;33m][0m[1;33m[[0m[1;36m5[0m[1;33m][0m[1;33m.[0m[0msplit[0m[1;33m([0m[1;34m':'[0m[1;33m)[0m[1;33m[[0m[1;36m1[0m[1;33m][0m[1;33m[0m[1;33m[0m[0m
[0m[0;32m 26[0m [0mi[0m [1;33m+=[0m [1;36m1[0m[1;33m[0m[1;33m[0m[0m
[0;32m 27[0m [0mwb[0m[1;33m.[0m[0msave[0m[1;33m([0m[0mfilename[0m[1;33m)[0m[1;33m[0m[1;33m[0m[0m
[1;31mIndexError[0m: list index out of rangeIn [68]:
import json
import openpyxl
import os,sys,shutil
file_name = 'file/中石化北海炼化2020年团体体检报告.xlsx'
wb = openpyxl.load_workbook(file_name)
sheet = wb.active
dict1 = {}
for n in range(1,sheet.max_row+1):
bh = sheet.cell(n,2).value
name = sheet.cell(n,3).value
xb = sheet.cell(n,4).value
nl = sheet.cell(n,5).value
bz = sheet.cell(n,7).value
dict1.setdefault(bh,{})
dict1[bh]['姓名'] = name
dict1[bh]['性别'] = xb
dict1[bh]['年龄'] = nl
dict1[bh].setdefault('病症',[])
dict1[bh]['病症'].append(bz.strip())
wb.close()
#print(dict1)
filename = 'file/中石化北海炼化2020年体检人员情况表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet['A1'] = '体检编号'
sheet['B1'] = '姓名'
sheet['C1'] = '性别'
sheet['D1'] = '年龄'
sheet['E1'] = '异常名称'
i =2
for k, v in dict1.items():
sheet[f'A{i}'] = k
sheet[f'B{i}'] = v['姓名']
sheet[f'C{i}'] = v['性别']
sheet[f'D{i}'] = v['年龄']
sheet[f'E{i}'] = ','.join(v['病症'])
i += 1
wb.save(filename)
In [ ]:
import openpyxl
import json
import pymongo
myclient = pymongo.MongoClient('mongodb://512song:songyi@192.168.3.100:27017/tice')
#dblist = myclient.list_database_names()
mydb = myclient['tice']
collist = mydb. list_collection_names()
print(collist)In [ ]:
import json
import pymongo
myclient = pymongo.MongoClient('mongodb://192.168.3.100:27017/')
#dblist = myclient.list_database_names()
mydb = myclient['tice']
collist = mydb. list_collection_names()
print(collist)In [ ]: