繁体   English   中英

面向最终用户的Excel之类的脚本语言

[英]Excel like scripting language in Python for end users

我正在寻找一种让最终用户从用户界面处理某些数据的方法。 具有类似于Excel语法的脚本引擎可以做到。

例:

输入将是一个dict ,其中包含数据(基本上是脚本的变量名)和带有规则的string

input = {'a':1, 'b':2, 'c':'add'}

rule_example_1 = "if(c == 'add',a+b,if(c=='sub',ab,raise ERROR))"'

rule_example_2 = "if c == 'add' return a+b else if c == 'sub' return ab else raise error()"

该脚本必须可以使用自己的功能进行扩展。 也可能是用户可以使用的一些类型的定义。

用例:

基本上,用户的帐户中有一些二维数据(产品详细信息)。 使用一些脚本规则,我想让他们更改产品数据。

例如,如果用户要排除所有以字母X开头的产品,他们将创建一条规则:

set('product_status', if(starts_with(product_title,'X'), 'skip', ''))

如果产品价格低于10,则用户希望将价格提高20%:

set('product_price', if(product_price < 10, product_price*1.20, product_price)

如果您想要更人性化的内容,也许可以尝试Blockly: https : //developers.google.com/blockly/

您可以轻松地将其与应用程序集成并对其进行自定义,从而创建自己的块来满足用户的需求。

您可能还想看看Mesh: https//github.com/chrispsn/mesh

也许更简单一些: https//pypi.python.org/pypi/simpleeval

或者,甚至更简单(但不太安全),也可以使用ast.literal_eval() ; 这是Python标准库的一部分: https : //docs.python.org/3/library/ast.html#ast.literal_eval

另外这个问题可能对您有帮助: Python中的安全表达式解析器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM