性味归经与功能的脚本——3元素

# -*- coding: utf-8 -*-
"""
Created on Thu Aug 25 10:06:52 2016

审核性味归经与功能的脚本

@author: Administrator
"""

import xlrd,csv
import list_xwgj_function,chi_square,list_xwgj_function_multiElements
#三元素组合[寒,苦,肝]
thelist_xwgj_function=list_xwgj_function.thelist_xwgj_function
#多元素组合
#thelist_xwgj_function=list_xwgj_function_multiElements.list_xwgj2_function

fileName="性味归经_功能_关系.csv"
excelFilename="中药表.xlsx"
sheetName="Sheet1"
#打开excel数据
excelFile=xlrd.open_workbook(excelFilename)

sheet=excelFile.sheet_by_name(sheetName)

#表单行与列
number_rows=sheet.nrows
number_columns=sheet.ncols
#表单内数据
list_sheetData=[]
#
list_xingWeiFunction_relation=[]

#获取表格数据
def Get_sheetData():
    for row in range(1,number_rows):
        list_sheetData.append(sheet.row_values(row))
    return list_sheetData

list_sheetData=Get_sheetData()

#卡方统计的keyWord1与keyWord2的关系
def Get_single_chiSquare(keyWord1,keyWord2):
    list_a=[]
    a=0
    b=0
    c=0
    d=0
    #统计包含a数量
    for k in range(len(list_sheetData)):
        i=list_sheetData[k]
        if keyWord1[0] in i[0] and keyWord1[1] in i[0] and keyWord1[2] in i[0] and keyWord2 in i[1]:
            a+=1
            list_a.append(k+2)

    #统计包含b数量
    for i in list_sheetData:
        if keyWord1[0] in i[0] and keyWord1[1] in i[0] and keyWord1[2] in i[0] and keyWord2 not in i[1]:
            b+=1    

    #统计包含c数量
    for i in list_sheetData:
        if keyWord1[0] not in i[0] or keyWord1[1] not in i[0] or keyWord1[2] not in i[0] and keyWord2 in i[1]:
            c+=1

    #统计包含d数量
    for i in list_sheetData:
        if keyWord1[0] not in i[0] or keyWord1[1] not in i[0] or keyWord1[2] not in i[0] and keyWord2 not in i[1]:
            d+=1
    #print("a:",a)
    #print("b:",b)
    #print("c:",c)
    #print("d:",d)
    k2=chi_square.value_independence(a,b,c,d)
    relation=chi_square.judge_independence(a,b,c,d)
    lis1=[[a,b,c,d],k2,relation,list_a]
    return lis1

#计算所有性味的相关性
def Get_all_chiSquare(thelist_xwgj_function):
    for i in thelist_xwgj_function:
        try:
            keyWord1,keyWord2=i[0],i[1]
            relation=Get_single_chiSquare(keyWord1,keyWord2)
            list1=[i,relation,relation[2]]
            list_xingWeiFunction_relation.append(list1)
        except:
            print("wrong at:",i)
            continue
    return list_xingWeiFunction_relation

def Write_table_to_csv(list1,fileName):
    #对列表格式修改,字符串写入的格式不对
    file=open(fileName,‘w‘,newline=‘‘)
    writer1=csv.writer(file)
    writer1.writerows(list1)
    file.close()  

list_xingWeiFunction_relation=Get_all_chiSquare(thelist_xwgj_function)
Write_table_to_csv(list_xingWeiFunction_relation,fileName)

需要导入中药表

时间: 2024-11-05 21:43:08

性味归经与功能的脚本——3元素的相关文章

性味归经与功能的脚本(超过四元素)

脚本名称 censor_relation_xwgj2_functions.py 需要导入中药表excel # -*- coding: utf-8 -*- """ Created on Thu Aug 25 10:06:52 2016 审核性味归经与功能的脚本(超过四元素) @author: Administrator """ import xlrd,csv import list_xwgj_function,chi_square,list_xwg

LoadRunner测试下载功能点脚本(方法二)

在上一篇<LoadRunner下载功能点脚本(方法一)>中,实现的脚本仅是录制下载功能点的脚本,现在性能需求的场景更改如下: 性能需求:对系统某页面中,点击下载并将下载文件保存到本地电脑的功能做并发测试,以获取在并发下载文件的情况下系统的性能指标. 我们知道,LoadRunner录制的脚本是根据协议启用代理模拟浏览器发送请求,记录对服务器响应的相关数据,因此,保存下载文件需要手动编写代码插入在下载脚本前后. 代码如下: download() { //文件大小 int flen; //响应数据内

XML真正强大的功能是来自其元素与封装的内容

创建文档类型声明 一般而言,XML声明放在文档顶部.在PHP中声明十分简单:只需实例化一个DOM文档类的对象并赋予它一个版本号.查看程序清单A: 程序清单 A <?php// create doctype$dom = new DOMDocument("1.0"); // display document in browser as plain text// display document in browser as plain text// for readability pu

LoadRunner测试下载功能点脚本(方法一)

性能需求:对系统某页面中,点击下载功能做并发测试,以获取在并发下载文件的情况下系统的性能指标. 备注:页面上点击下载时的文件可以是word.excel.pdf等. 问题1:录制完下载的场景后,发现脚本里面并没有包含下载的脚本或url? 解决步骤: 1.  在IE浏览器上打开需要测试功点的页面,点击下载链接前启用httpWatch录制下载功能点,然后查看Stream下面服务器返回的响应信息,一个HTTP响应代表服务器向客户端回送的数据,它包括: 一个状态行.若干消息头.以及实体内容 ,其中的一些消

SoapUI NG Pro v1.9发布,Groovy功能消除脚本困扰

利用Groovy消除脚本困扰 SoapUI NG Pro现在允许你调试你的Groovy脚本,您可以设置断点,单步调试和检查变量的代码.现在改进的测试用例和脚本的麻烦将变得更容易处理. 通过加强的认定功能更好地验证测试 此版本新增两个新的用于HTTP头文件的认定功能.您现在可以在API调用中核实 HTTP自定义头文件或者它们的值. 点击更新完整内容 [下载最新版SoapUI NG Pro试用]

高级脚本进阶—使用case的多功能选择性脚本

应用场景: 在应用脚本决解实际的运维问题时,单功能脚本有很多的不同应用环境,如不同的运行环境,不同的系统版本等,这时,就需要对脚本的功能进行选择,一个脚本实现多功能多版本系统的维护,以减少沟通成本,而减少工作与沟通的复杂度是实际的工作中很有必要的,介绍一个简单的实现小框架,使用case流分离工具进行功能分离: #!/bin/bashTitle= oneSubtitle= twoSubtitle= threeSubtitle= fourSubtitle= fiveSubtitle= sixSubt

shell实现一个简单的计算器功能小脚本

废话不多说,直接上代码,基本实现加减乘除功能: #!/bin/bash # author by alsww # date : 2016.02.03 # mail : [email protected] # blog : alsww.blog.51cto.com print_info(){     printf "请输入数字:\n" } print_err_num(){     printf "请输入正确的数字!\n" } print_err_fuhao(){    

【高级功能】使用canvas元素(第二部分)

本文将继续介绍canvas的功能,展示如何绘制更复杂的图形(包括圆弧和曲线),如何使用剪裁区域来限制操作以及如何绘制文本.还是介绍可以应用在画布上的特效和变换,包括阴影.透明度.旋转和坐标重映射. 1. 用路径绘图 路径本质上是一组独立的线条(被称为子路径),它们组合到一起构成图形.我们绘制子路径的方式就像用笔在纸上画图一样,笔尖不离开纸面:画布上的每一条子路径都以上一条的终点作为起点.下面展示了绘制基本路径的方法: 绘制一条路径的基本顺序如下: * 调用 beginPath方法: * 用 mo

Firefox上运行自动化测试脚本提示元素无法点击“WebDriverException: Message: Element is not clickable at point“解决方法

1. Firefox上运行脚本时提示“WebDriverException: Message: Element is not clickable at point (934.316650390625, 700.316650390625). Other element would receive the click:” 2.分析原因: (1)首先肯定不是因为页面元素不存在而无法点击,也不是要点击的button不在预览范围内. (2)可能是被前一步的操作的一个弹出层挡住了.因为前几步是弹出了一个mo