【办公自动化实例】需要进行参数管理的文件,使用外置参数表进行存储

文章目录

        • 一、背景
        • 二、方法:
        • 三、整体代码。

一、背景

手上有一份数据,因参数是不定期的动态更新,所以参数表不能写在代码中,需要一个外置的参数表进行存储。
如下图:
原始数据中有ABC三个零件,需要判断参数1,参数2 的合格情况。
【办公自动化实例】需要进行参数管理的文件,使用外置参数表进行存储_第1张图片

二、方法:

可以外置数据库管理、json文件、xlsx文件、py文件进行存储,也方便添加,根据习惯,这里使用json文件进行保存,代码上主要是读取数据时的处理。
附:json格式参数表,需要注意的是参数表信息中参数均需要带双引号,防止json解析时出错。
【办公自动化实例】需要进行参数管理的文件,使用外置参数表进行存储_第2张图片

三、整体代码。
import pandas as pd
import json

def parameters(path):
    with open(path, "r", encoding="utf8") as t:
        parameters = t.read()
        parameters = json.loads(parameters)
        return parameters


def judge(parameters, part, p):
    try:
        if p >= float(parameters[part]["参数1"]):
            return "合格"
        else:
            return "不合格"
    except:
        print(f"参数表无零件{part}参数或数据格式有问题")
        return "无参数无法判断"


path = "参数表.json"
parameters = parameters(path)
df = pd.read_excel("原始数据.xlsx", index_col="序号")

df["参数1判断结果"] = df.apply(lambda x: judge(parameters, x["零件"], x["参数1"]), axis=1)
df["参数2判断结果"] = df.apply(lambda x: judge(parameters, x["零件"], x["参数2"]), axis=1)
df["判断结果"] = df.apply(
    lambda x: "合格" if x["参数1判断结果"] == "合格" and x["参数2判断结果"] == "合格" else "不合格", axis=1
)
df.to_excel("判断后文件.xlsx")

结果(也可以继续完成格式调整):
【办公自动化实例】需要进行参数管理的文件,使用外置参数表进行存储_第3张图片

你可能感兴趣的:(办公自动化,python)