uibot的easydata扩展库使用教程

easydata是一个ub命令库,它提供快速、灵活、易于使用的诸如一键读写excel、剔除空行、矩阵运算等数据挖掘功能。由于原生的ub命令在数据处理方面比较薄弱,原生的ub数组速度非常慢,使用easydata可以极大的降低你的代码量和提高代码运行速度。

命令文档

命令名称:

读取Excel工作表

功能:

读取指定工作薄、工作表中的数据,读取成 ub datatable 类型

参数说明:

文件路径:字符型,指定读取的工作薄所在路径
列头:数组型,指定读取后 datatable 的列名。默认为 "" ,不指定默认以读取数据的第一行作为列名
起始行:数值型,指定从第几行开始读取
尾部忽略行:数值型,指定工作表尾部忽略读取的行数,被忽略的行不会被读取,一般在表格尾部有无效数据时使用
工作表:数值型,指定读取工作薄中的第几张工作表
忽略空行:布尔型(true或false),指定是否忽略空行

代码示例

text.xlsx表格数据


image.png
dim data
//指定忽略空行读取
data = easydata.read_excel("text.xlsx", "", 1, 0, 1, true)
TracePrint data
//输出
  第一列 第二列 第三列 第四列
0 12 13 14 15
1 13 14 15 16
2 14 15 16 17
3 15 16 17 18
4 16 17 18 19
5 17 18 19 20
6 18 19 20 21
7 19 20 21 22
8 15 16 17 18
9 16 17 18 19
10 17 18 19 20
11 18 19 20 21
12 19 20 21 22
命令名称

写入Excel工作表

功能

根据给定路径,将 datatable 直接写入到excel工作薄

参数说明

数据表:datatable,指定需要写入的数据表
文件路径:字符型,指定写入的工作薄路径
写入方式:可选 'cover' 和 'append', 覆盖写入和追加写入
包含表头:布尔型,指定是否将datatable表头写入
工作表:数值型,指定写入第几张工作表

命令名称

数组加法

功能

数组与数值/小数相加或数组与数组相加

参数说明

基数组:数组型,指定 x+y 的 x
算数:数值、小数或数组型,指定 x+y 的 y

代码示例
dim x = [10,20,30,40]
dim y = [1,2,3,4]
dim data = easydata.array_sum(x, y)
TracePrint data
//输出
[ 11, 22, 33, 44 ]
dim x = [[10,20,30,40], [50,60,70,80]]
dim y = [[1,2,3,4], [5,6,7,8]]
dim data = easydata.array_sum(x, y)
TracePrint data
//输出
[
[ 11, 22, 33, 44 ],
[ 55, 66, 77, 88 ]
]
命令名称

数组减法

功能

数组与数值/小数相减或数组与数组相减,使用方法参考数组加法示例

命令名称

数组乘法

功能

数组与数值/小数相乘或数组与数组相乘,使用方法参考数组加法示例

命令名称

数组除法

功能

数组与数值/小数相除或数组与数组相除,使用方法参考数组加法示例

命令名称

读取数组最大值

功能

获取给定数组中的最大值

参数说明

数组:需要操作的数组

代码示例
dim x = [1,2,3,34,4]
dim data = easydata.max(x)
TracePrint data
//输出
34
命令名称

读取数组最小值

功能

获取给定数组中的最小值,使用方法参考 “获取数组最大值”

命令名称

数组求和

功能

计算一个数值型数组中所有元素之和

参数说明

数组:指定用于计算的源数组

命令名称

创建数组

功能

创建一个指定长度整数数组

参数说明

起始值:数值型,指定数组起始值
结尾值:数值型,指定数组结尾值,注意创建结果末尾值会比该参数小1
步长:大于 1 的整数

代码示例
dim data = easydata.range(1, 10, 1)
TracePrint data
//输出
[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

dim data = easydata.range(1, 11, 2)
TracePrint data
//输出
[ 1, 3, 5, 7, 9 ]

For Each i In easydata.range(1, 5, 1)
    TracePrint '第' & i & '次循环'
Next
//输出
"第1次循环"
"第2次循环"
"第3次循环"
"第4次循环"
命令名称

创建矩阵

功能

以零初始化创建一个指定行列数的矩阵

参数说明

行数:数值型,指定行数
列数:数值型,制定列数

代码示例
//创建一个3行5列的矩阵
dim data = easydata.zeros(3,5)
traceprint data
//输出
[
[ 0.0, 0.0, 0.0, 0.0, 0.0 ],
[ 0.0, 0.0, 0.0, 0.0, 0.0 ],
[ 0.0, 0.0, 0.0, 0.0, 0.0 ]
]
命令名称

创建日期序列

功能

根据开始和结束日期生成一个连续的日期数组

参数说明

起始日期:字符型,指定起始日期
结尾日期:字符型,指定结束日期

代码示例
dim data
data = easydata.range_date("2012/01/20", "2012/01/24")
TracePrint data
//输出
[ "2012-01-20", "2012-01-21", "2012-01-22", "2012-01-23", "2012-01-24" ]

dim data
data = easydata.range_date("2012-02-25", "2012-03-01")
TracePrint data
//输出
[
"2012-02-25",
"2012-02-26",
"2012-02-27",
"2012-02-28",
"2012-02-29",
"2012-03-01"
]
命令名称

数据表转json

功能

将一个 datatable 转换成对应的json字符串

参数说明

数据表:需要操作的 datatable

代码示例
dim data, columns, objDatatable, results, Variable
//先构建数据表
data = [['a','b','c'], ['e','f','g']]
columns = ['one', 'two', 'three']
objDatatable = Datatable.BuildDataTable(data, columns)
//将数据表转换成json字符串
Variable = easydata.array_tojson(objDatatable)
TracePrint Variable

//输出
"{"one":{"0":"a","1":"e"},"two":{"0":"b","1":"f"},"three":{"0":"c","1":"g"}}"
命令名称

文本翻译

功能

把一串文本翻译成指定语言,返回翻译结果,支持语言说明:


image.png
参数说明

翻译内容:字符型,待翻译的原始文本
语言:字符型,原始文本的语言,不确定时可设置为 "auto"
翻译语言:字符型,指定翻译成哪种语言

代码示例
dim Variable
dim basetext = '我如果爱你——绝不像攀援的凌霄花,借你的高枝炫耀自己;我如果爱你——'

Variable = easydata.translation(basetext, "auto", "en")
TracePrint Variable

//输出
"If I love you, I will never show off by your high branches like the climbing skyflower; if I love you——"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342