如何用perl将表格中不同列的数据进行拼凑,然后将拼凑后的数据用“|”连接在一起
来源:互联网 发布:原生js添加class 编辑:程序博客网 时间:2024/05/22 17:18
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据进行拼凑,然后将拼凑后的数据用“|”连接在一起。 员工号码员工姓名职位入职日期1001张三销售1980/12/17 0:00:001002李四财务1981/02/20 0:00:001003王五经理1981/02/22 0:00:001004陈二会计1981/04/02 0:00:00
表格内容如下:
要求如下:
将员工姓名和入职日期用键值对的形式拼凑在一起,然后将拼凑后的数据用“|”连接在一起。
结果如下:
张三:1980/12/17 0:00:00|李四:1981/02/20 0:00:00|王五:1981/02/22 0:00:00|陈二:1981/04/02 0:00:00
脚本如下:
#!/usr/bin/perluse strict;my $line;while(<>){ s/\r\n//; if(/(\S+)\s+(\S+)\s+(\S+)\s+(.*)/){ $line .=$2.':'.$4.'|'; }}print "$line\n";
脚本执行的结果如下:
员工姓名:入职日期|张三:1980/12/17 0:00:00|李四:1981/02/20 0:00:00|王五:1981/02/22 0:00:00|陈二:1981/04/02 0:00:00|
基本上符合要求。
总结:
1. \s在perl中匹配空白字符。\S匹配的是非空白字符。本来一开始用的是\w,但\w默认匹配的是英文字符,数字和_。不匹配中文字符,所以在这里就用了\S来表示。
2. 这种需求在实际中还是蛮常见的,普通的数据库对于若干列之间的拼凑还是很容易实现的,但是如何将拼凑后的结果再次拼凑在一起,却是个挑战,perl很好的解决了这个问题。
0 0
- 如何用perl将表格中不同列的数据进行拼凑,然后将拼凑后的数据用“|”连接在一起
- 如何用easyui+JAVA 实现动态拼凑datagrid表格(续)
- SQL中union的常用用法~~解决数据拼凑、表中两列合并等问题
- 拼凑出来的报告
- 拼凑
- Excel:将包含某列部分数据的另一个表格中其它列拷贝至当前表格
- 如何用Perl对Excel的数据进行提取并分析
- 用css3拼凑出来的桃心
- 数据组合?将id相同的人员姓名组合在一起
- 拼凑的论文进行知网查重通过率高吗?
- 获得拼凑SQL语句运行后的结果
- 如何用Jquery将后台数据通过表格形式展现在页面上
- mysql 如何用一条SQL将一张表里的数据插入到另一张表
- 使用OLEDB将数据插入对应的EXCEL表格中
- 将数据库的数据导出到excel表格中。
- 将数据以表格的形式保存到pdf中
- easyUI的table表格怎么实现将某一列数据之和放入新追加的一行中
- js中拼凑的jsp页面的鼠标进入事件
- 并发,同步问题,留着研究一下,暂时没时间看
- Linux网络编程--定时器之时间轮
- 如何用Excel直接查询Oracle中的数据
- Linux内核中的初始化initcall
- 利用xinetd进行时间同步
- 如何用perl将表格中不同列的数据进行拼凑,然后将拼凑后的数据用“|”连接在一起
- XMPP创建流程
- 如何编译Zookeeper源码
- (转)J2EE的13种核心技术
- Shell脚本一枚
- 电脑屏幕突然变成绿色的了
- MegaCli 查看raid信息
- Kubernetes集群搭建过程中遇到的问题
- Oracle中如何实现Mysql的两表关联update操作