我的编程空间,编程开发者的网络收藏夹
学习永远不晚

集算器怎么协助java处理结构化文本实现对齐连接

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

集算器怎么协助java处理结构化文本实现对齐连接

这篇文章主要讲解了“集算器怎么协助java处理结构化文本实现对齐连接”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“集算器怎么协助java处理结构化文本实现对齐连接”吧!

文本文件emp.txt存储着员工信息,EId等于1的员工不在该文件中。文本文件sOrder.txt存储着订单信息,其SellerId字段和emp中的EId字段相对应,SellerId等于2的订单不在该表中。部分源数据如下:

emp.txt

集算器怎么协助java处理结构化文本实现对齐连接

sOrder.txt

集算器怎么协助java处理结构化文本实现对齐连接

现在需要将emp的Name、Dept、Gender这三个字段对齐到sOrder中,计算结果输出到新文件中。期望的计算结果如下:

集算器怎么协助java处理结构化文本实现对齐连接

集算器代码:

集算器怎么协助java处理结构化文本实现对齐连接

A1格和A2格分别从文本文件中读取数据,并存入两个变量emp和sOrder。这里使用了函数import,其默认的列分割符是tab,函数选项 @t表示将***行读为字段名。由于例子中只需要emp.txt中的部分字段,因此A1需要以字段名做参数。计算完成后,emp和sOrder的值如下图:

集算器怎么协助java处理结构化文本实现对齐连接

A3:=join@1(sOrder:s,SellerId;emp:e,EId)。函数join执行连接运算,并将两个表改名为s和e。其中函数选项@1表示左连接,即例子中的要求:将emp对齐到sOrder中。计算后结果如下:

集算器怎么协助java处理结构化文本实现对齐连接

点击蓝色链接可以看到具体的记录,如下:

集算器怎么协助java处理结构化文本实现对齐连接

右连接只是交换对齐的位置,同样可以用集算器来实现。比如将sOrder按照emp对齐,只需要在代码中交换两者的顺序,即=join@1(emp:e,EId;sOrder:s,SellerId),计算结果如下:

集算器怎么协助java处理结构化文本实现对齐连接

全连接也很容易实现,只需要使用函数选项@f,代码是:join@f(sOrder:s,SellerId;emp:e,EId),计算结果如下:

集算器怎么协助java处理结构化文本实现对齐连接

连接运算共有四种,除了上面提到的左连接、右连接、全连接,还有内连接。函数join默认执行内连接,代码是=join(sOrder:s,SellerId;emp:e,EId),计算结果如下:

集算器怎么协助java处理结构化文本实现对齐连接

回到例子中,A4:=A3.new(s.OrderID, s.Client, s.SellerId, s.Amount,  s.OrderDate, e.Name, e.Dept,  e.Gender)。这句代码从连接的表中取得需要的字段,组成新的结构化二维表格,计算结果如下:

集算器怎么协助java处理结构化文本实现对齐连接

对齐的工作已经完成,下面将数据输出到新的文件,代码为:=file(“E: \\result.txt”).export@t(A4)。

函数export默认使用tab作为列分割符,函数选项@t表示将字段名输出在***行。打开result.txt,可以看到内容如下:

集算器怎么协助java处理结构化文本实现对齐连接

上述脚本已经完成了所有的对其输出工作,接下来只需在JAVA代码中调用即可。

//建立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()”);
     //执行esProc存储过程
     st.execute();

只要执行上述JAVA代码,emp就会对齐到sOrder中,并将计算结果输出到result.txt文件。

下面将例子稍作改动:按动态的时间段查询sOrder中的数据,并执行同样的对齐操作,***直接将结果返回JAVA。为了实现这个例子,集算器需要定义两个参数,分别是begin和end,代表起止时间。集算器代码如下:

集算器怎么协助java处理结构化文本实现对齐连接

红色部分为改动的代码。

A2:通过函数select对sOrder进一步过滤,过滤条件为JAVA传来的起止时间,即@begin和@end。

A5:将A4中的计算结果输出到JDBC接口。

JAVA代码也需要进行相应的改动,以便传入参数,并获取计算结果。代码如下:

Class.forName(“com.esproc.jdbc.InternalDriver”);
     con= DriverManager.getConnection(“jdbc:esproc:local://”);
     st =(com.esproc.jdbc.InternalCStatement)con.prepareCall(“call test(?,?)”);
    st.setObject(1,startTime);
     st.setObject(2,endTime);
    st.execute();
    ResultSet set = st.getResultSet();

感谢各位的阅读,以上就是“集算器怎么协助java处理结构化文本实现对齐连接”的内容了,经过本文的学习后,相信大家对集算器怎么协助java处理结构化文本实现对齐连接这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

集算器怎么协助java处理结构化文本实现对齐连接

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

集算器怎么协助java处理结构化文本实现对齐连接

这篇文章主要讲解了“集算器怎么协助java处理结构化文本实现对齐连接”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“集算器怎么协助java处理结构化文本实现对齐连接”吧!文本文件emp.txt
2023-06-17

集算器怎么协助Java处理结构化文本实现条件过滤

这篇文章主要讲解了“集算器怎么协助Java处理结构化文本实现条件过滤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“集算器怎么协助Java处理结构化文本实现条件过滤”吧!直接用Java实现文本
2023-06-17

集算器协助java处理结构化文本的集合运算是怎样的

今天就跟大家聊聊有关集算器协助java处理结构化文本的集合运算是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JAVA不直接支持集合运算,因此要用嵌套循环才能实现文本文件之间的
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录