excel批处理_判断一个名称是不是药品
把药品名称导入到sheet1的A字段
# -*- coding: utf-8 -*-
"""
Created on Fri Dec 9 09:38:58 2016
判断一个名称归类为药品,药材,辅料,药包材
缺乏经典中药方剂,蒙药,等少数民族药品,这些被归入药材,需要改善
@author: Administrator
"""
import xlrd,re,pandas
excelFilename="test.xlsx"
#药品的关键词
rex_drug=re.compile(r'丸|颗粒|搽|片|胶囊|注射|诊断试剂|剂|凝胶|贴|软膏|膏|眼膏|粉针|溶液|吸入|滴眼|乳剂|口服液|液|盐酸|清凉油|糖浆|药品|复方|转移因子|汤|味散|安神|安神散')
#药包材的关键字
rex_yaobaocai=re.compile(r'复合膜|低硼硅|药品包装|药品包装用复合膜|双向拉伸|聚酯瓶|聚乙烯瓶|玻璃安瓿|低硼硅|剂瓶|滴眼剂瓶|药用硬片|高密度聚乙烯瓶')
rex_others=re.compile(r'富氧空气')
#获取一个excel内首页表格
def Get_sheet1_from_oneExcel(excelFileName):
wb=xlrd.open_workbook(excelFileName)
sheet=wb.sheets()[0]
return sheet
#获取excel的首页信息,去除首行
def Get_sheet1_Data_NoFirstLine(excelFileName):
sheet=Get_sheet1_from_oneExcel(excelFileName)
#获取表格行数和列数
highest_row=sheet.nrows
sheet_data=[]
for rowNum in range(1,highest_row):
#获取行数据
rowData=sheet.row_values(rowNum)
sheet_data.append(rowData[0])
return sheet_data
#判断是药品,药材,辅料,药包材
def Drug_type(drug):
#不是字符串就转换为字符串
if type(drug)!=str:
drug=str(drug)
#正则表达式快速匹配
if rex_others.search(drug)!=None:
return "其它"
#药品分类
elif rex_drug.search(drug)!=None:
#print("in rexq")
#print(rex1.search(i))
return "药品"
#药包材分类
elif rex_yaobaocai.search(drug)!=None:
return "药包材"
#字典精确匹配 ,注册数据库与中药材数据库有重复,优先遍历中药材
elif drug in list_fuliao:
#print("在药品辅料数据库内")
return "辅料"
elif drug in list_yaobaocai:
#print("在药包材数据库内")
return "药包材"
#中药材筛选,因为注册数据库中有药品也有药材
elif drug in list_zhongyaocai:
#print("在药包材数据库内")
return "药材"
elif drug in list_yaopin:
#print("在药品注册数据库内")
return "药品"
#药材分类
else:
return "药材"
#else:
#return "不确定"
#获取药品信息
list_yaopin=Get_sheet1_Data_NoFirstLine("药品.xlsx")
#获取辅料信息
list_fuliao=Get_sheet1_Data_NoFirstLine("辅料.xlsx")
#获取药包材信息
list_yaobaocai=Get_sheet1_Data_NoFirstLine("药包材.xlsx")
#获取中药材信息
list_zhongyaocai=Get_sheet1_Data_NoFirstLine("中药材.xlsx")
#处理表格
list_drugs=Get_sheet1_Data_NoFirstLine(excelFilename)
#药品药材分类
list_drugType=[Drug_type(i) for i in list_drugs]
#写入excel
data=pandas.DataFrame({'me_name':list_drugs,'me_type':list_drugType})
data.to_excel("药品与种类.xlsx")
需要文件:
excel批处理_判断一个名称是不是药品的更多相关文章
- C#判断一个类中有无"指定名称"的方法
C#中可以通过反射分析元数据来解决这个问题,示例代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 ...
- Win7全自动精简批处理_温柔处理极速修正版/暴力剩女工程测试版
2011htpcfans 发表于 2012-5-11 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=210269&highligh ...
- DOS批处理命令判断操作系统版本、执行各版本对应语句
DOS批处理命令判断操作系统版本.执行各版本对应语句 昨天在家里试用 netsh interface ip set address 这些命令更改上网IP.DNS.网关等,今天将那些代码拿来办公室 ...
- PHPExcel 是用来操作Office Excel 文档的一个PHP类库
PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言.可以使用它来读取.写入不同格式的电子表格,如 Excel (BIFF) .xls ...
- C#实现如何判断一个数组中是否有重复的元素
如何判断一个数组中是否有重复的元素 实现判断数组中是否包含有重复的元素方法 这里用C#代码给出实例 方法一:可以新建一个hashtable利用hashtable的Contains方法进行查找 /// ...
- C#实现如何判断一个数组中是否有重复的元素 返回一个数组升序排列后的位置信息--C#程序举例 求生欲很强的数据库 别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework
C#实现如何判断一个数组中是否有重复的元素 如何判断一个数组中是否有重复的元素 实现判断数组中是否包含有重复的元素方法 这里用C#代码给出实例 方法一:可以新建一个hashtable利用hasht ...
- 【已解决】每次打开Excel时会同时打开一个空的Excel表格
每次打开Excel时会同时打开一个空的Excel表格,情况如图. 官方解法如下,本人验证有效: 方法1, 请到以后路径中检查是否存在与空白文件夹同名字的Excel文件,删除它. C:\Users\\A ...
- Java判断一个字符串是否有中文
Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比 ...
- HDU 1756 Cupid's Arrow 计算几何 判断一个点是否在多边形内
LINK:Cupid's Arrow 前置函数 atan2 返回一个向量的幅角.范围为[Pi,-Pi) 值得注意的是 返回的是 相对于x轴正半轴的辐角. 而判断一个点是否在一个多边形内 通常有三种方法 ...
随机推荐
- android Intent介绍
Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 ...
- AndroidProjects个人项目归纳
AndroidProjects 个人总结归纳-目录大纲 Data Binding框架MVVM BaseView CollapseView 更新中... 项目地址:https://github.com/ ...
- MySQL函数
MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: 系统信息函数: 加密函数: 格式化函数: 一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ...
- ORACLE lag()与lead() 函数
一.简介 lag与lead函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,从而更方便地进行进行数据过滤.这种 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- [笔记]过期的UBUNTU怎么更新软件包
使用old-releases仓库替换main/security仓库,就像下面这样. sudo sed -i -r 's/([a-z]{2}\.)?archive.ubuntu.com/old-rele ...
- Redux状态管理方法与实例
状态管理是目前构建单页应用中不可或缺的一环,也是值得花时间学习的知识点.React官方推荐我们使用Redux来管理我们的React应用,同时也提供了Redux的文档来供我们学习,中文版地址为http: ...
- idea缓存
昨天idea出现了一个奇怪的问题: 项目没有按我指定的配置运行,按cmd+:可以看输出.而是运行了配置包下的test环境的配置, 先一看,test环境被初始化为资源包并且在输出目录上, 先取消(fil ...
- 一枚招聘信息——分期乐招页面重构/UI开发(8k-12k 深圳 经验1-3年 学历不限 全职)
腾讯人创建的分期乐公司,急需页面重构人才若干枚,公司前景好,机会难得,有兴趣的速速 8k-12k 深圳 经验1-3年 学历不限 全职 公司网站: http://www.fenqile.com/ 职位诱 ...
- h5+mui
参考链接http://blog.csdn.net/tbwood/article/details/42081861 待补充