`
datamachine
  • 浏览: 157542 次
社区版块
存档分类
最新评论

结构化文本处理时的表达式计算

阅读更多

JAVA不直接支持动态解析文本文件中的表达式,只能通过手工拆分字符串再递归调用来实现,这需要编写大量代码,过程复杂难以维护。使用集算器来辅助Java编程,这些问题就不需要自己写代码了,下面我们通过例子来看一下具体作法。

 

         文本文件formula.txttab分割的文本文件,第一行是列名,有3个列Notypeexp,其中exp列是公式。现在需要动态解析exp中的公式,并将计算结果附加在exp之后,命名为value列。文件fromula.txt的前几行数据如下:


 

         集算器脚本如下:

 


 

 

         A1=file("E:\\ formula.txt").import@t()函数import用来读入文本文件, 函数选项@t表示将第一行读为列名。读入后的数据存储在A1格中,如下:



 

         A2=A1.derive(eval(exp):value)。函数derive用来在A1中加入新的列,列名为value,列的值是eval(exp)。函数eval用来对字符串进行动态解析,比如eval(“1+1”)的计算结果是数字2。由于代码中的exp列是多个字符串组成的,因此eval(exp)的计算结果也是多个,如下:



 

          动态公式已经解析完成,下面将A2输出到文本文件,即:

         A3=file("E:\\ result.txt").export@t(A2)

        上述脚本中,函数export用来将A2中的数据写入文件result.txt,函数选项@t表示将列名写在第一行。打开这个文件,可以看到如下内容:


 

         A4result A2。这句脚本将A2中的数据返回JAVAJAVA代码只需通过JDBC调用集算器脚本就能获得结果,代码如下。

         //建立esProc jdbc连接

         Class.forName("com.esproc.jdbc.InternalDriver");

         con= DriverManager.getConnection("jdbc:esproc:local://");

         //调用esProc,其中test是脚本文件名

         st =(com.esproc.jdbc.InternalCStatement)con.prepareCall("call test()");

         st.execute();//执行esProc存储过程

         ResultSet set = st.getResultSet();   //获取结果集

 

  • 大小: 23 KB
  • 大小: 18.2 KB
  • 大小: 24.6 KB
  • 大小: 25.4 KB
  • 大小: 29.1 KB
1
0
分享到:
评论

相关推荐

    ST编程语言.doc

    结构化文本(ST)语言表面上与PASCAL语言很相似,但它是一个专门为工业控制应用开发的编程语言,具有很强的编程能力用于对变量赋值、回调功能和功能块、创建表达式、编写条件语句和迭代程序等。结构化文本(ST)非常...

    在会计研究中使用 Python 进行文本分析-研究论文

    接下来,我们介绍将文本数据(非结构化数据)转换为表示感兴趣变量(结构化数据)的数值度量的想法。 具体来说,我们介绍了基于字典的方法:1) 测量文档情绪,2) 计算文本复杂度,3) 识别前瞻性句子和风险披露,4) ...

    Java编程实践:10个实用例子助您提升技能正则表达式、文件操作、日期和时间处理、数据结构、集合类、接口和多态、递归、多线程编程

    1. 使用正则表达式验证邮箱格式:演示如何使用正则表达式验证邮箱地址的格式是否有效。 2. 读取和写入文本文件:展示了如何使用文件读取器和写入器来读取和写入文本文件的内容。 3. 使用日期和时间类:演示了Java 8...

    JavaScript权威指南(第6版) 英文版

    前言 1 第1章 JavaScript概述 5 1.1 JavaScript语言核心 8 1.2 客户端JavaScript 12 第一部分 JavaScript 语言核心 第2章 词法结构 25 2.1 字符集 25 ...4.12 表达式计算 83 4.13 其他运算符 86

    JavaScript权威指南(第6版)中文

    前言 1 第1章 JavaScript概述 5 1.1 JavaScript语言核心 8 1.2 客户端JavaScript 12 第一部分 JavaScript 语言核心 第2章 词法结构 25 2.1 字符集 25 ...4.12 表达式计算 83 4.13 其他运算符 86

    自然语言处理综论 冯志伟译著

    本书介绍了正则表达式、有限状态自动机、文本-语音转换、发音与拼写的概率模型、词类自动标注、N元语法、隐马尔可夫模型、上下文无关语法、特征与合一、词汇化剖析与概率剖析、一阶谓词演算、词义排歧、修辞结构理论...

    Speech and Language Processing,自然语言处理综论

    本书介绍了正则表达式、有限状态自动机、文本-语音转换、发音与拼写的概率模型、词类自动标注、n元语法、隐马尔可夫模型、上下文无关语法、特征与合一、词汇化剖析与概率剖析、一阶谓词演算、词义排歧、修辞结构理论...

    DBTSearch软件开发包

    随着计算机存储与计算能力的迅猛发展,越来越多的非结构化文本数据存储在数据库中,数据库中的文本搜索日益广泛。 当前,数据库中的文本搜索,一般采用SQL语句中的Like操作符或者采用数据库系统自带的全文索引功能...

    自然语言处理综论

    本书介绍了正则表达式、有限状态自动机、文本-语音转换、发音与拼写的概率模型、词类自动标注、N元语法、隐马尔可夫模型、上下文无关语法、特征与合一、词汇化剖析与概率剖析、一阶谓词演算、词义排歧、修辞结构理论...

    JavaScript权威指南-第六版

     4.12 表达式计算83  4.13 其他运算符86  第5章 语句91  5.1 表达式语句92  5.2 复合语句和空语句92  5.3 声明语句94  5.4 条件语句96  5.5 循环101  5.6 跳转106  5.7 其他语句类型113  5.8 JavaScript...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    2.5 结构化程序设计方法 31 3 数据类型、运算符与表达式 3.1 C语言的数据类型 32 3.2 常量与变量 33 23.2.1 常量和符号常量 33 3.2.2 变量 33 3.3 整型数据 34 3.3.1 整型常量的表示方法 34 3.3.2 整型变量 35 3.4 ...

    Python做简单的字符串匹配详解

     由于需要在半结构化的文本数据中提取一些特定格式的字段、数据辅助挖掘分析工作,以往都是使用Matlab工具进行结构化数据处理的建模,matlab擅长矩阵处理、结构化数据的计算,Python具有与matlab共同的特点:语法...

    数据结构演示软件

    类似地,在演示递归算法执行过程时,每当执行递归调用本过程的语句时,随即隐去当前层次的算法文本而显示下一层的算法文本,并且以不同颜色的算法文本表示递归的不同层次。如第一层的算法文本为深绿色,第二层为紫色...

    程序员考试刷题-Natural-Language-Processing-DSCI6004:自然语言处理练习

    GalvanizeU-纽黑文大学数据科学理学硕士DSCI-6004:非结构化数据和自然语言处理2016 年 10 月 24 日 - 12 月 16 日 目录: 后勤 课程说明 班级结构 课程要求 成绩 资源 后勤: 导师:布赖恩·斯皮林办公时间:星期三...

    数据结构习题答案(全部算法)严蔚敏版

    2.6.2 单链表处理的C语言源程序 习题二 第3章 栈和队列 3.1 栈 3.1.1 栈的定义及其运算 3.1.2 栈的顺序存储结构(向量) 3.1.3 栈的链表存储结构 3.1.4 栈的应用 3.2 队列 3.2.1 队列的定义及运算 3.2.2 ...

    用c描述的数据结构演示软件

    类似地,在演示递归算法执行过程时,每当执行递归调用本过程的语句时,随即隐去当前层次的算法文本而显示下一层的算法文本,并且以不同颜色的算法文本表示递归的不同层次。如第一层的算法文本为深绿色,第二层为紫色...

Global site tag (gtag.js) - Google Analytics