perl对长度不一文本的行列进行置换的实现代码
有时遇到各行或各列的长度不一致时就麻烦了,虽然可以在R里面把文件按最长的行(列)填充,但是不便,所以想起用perl去实现一个。
由逗号分隔的不定长度的文本文件, 现要实现行列转置, 即由
1,2,3,4,5,6,
7,8,9,
10,11,12,13,
转换为:
1,7,10,
2,8,11,
3,9,12,
4, ,13,
5, , ,
6, , ,
以下是完整的代码,供大家参考。
#!/usr/bin/perl -w
my @matrix;
my $max_len = 0;
while(<DATA>){
chomp;
s/,$//g;
my @fields = split /,/, $_;
my $len = @fields;
$max_len = $max_len > $len ? $max_len : $len;
push @matrix, [@fields];
}
for my $col (0..$max_len - 1){
for my $line (@matrix){
print $line->[$col] || ' ', ',';
}
print "\n";
}
__DATA__
1,2,3,4,5,6,
7,8,9,
10,11,12,13,
准备学习下,自己动手实现一遍,最好是做成模板,随调随用。
相关推荐
-
perl对长度不一文本的行列进行置换的实现代码
有时遇到各行或各列的长度不一致时就麻烦了,虽然可以在R里面把文件按最长的行(列)填充,但是不便,所以想起用perl去实现一个.由逗号分隔的不定长度的文本文件, 现要实现行列转置, 即由 复制代码 代码如下: 1,2,3,4,5,6,7,8,9,10,11,12,13,转换为:1,7,10,2,8,11,3,9,12,4, ,13,5, , ,6, , , 以下是完整的代码,供大家参考. 复制代码 代码如下: #!/usr/bin/perl -wmy @matrix;my $ma
-
易语言取文本左右及中间指定长度的文本内容
这个功能要用到以下几个命令: 取文本左边命令 取文本右边命令 取文本中间命令 例程 说明 通过"取文本左边"命令获取一段文本从左数起指定长度的文本. 通过"取文本右边"命令从右起取出4个字符(两个汉字). 通过"取文本中间"命令从一段文本中的指定位置起取出指定数量的字符. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接
-
文本框只能输入数字的js代码(含小数点)
只能输入0-9多包括小数点 <html> <head> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <title>js 只能输入数字和小数点</title> <script language="JavaScript" type="text/javascript">
-
JavaScript实现焦点进入文本框内关闭输入法的核心代码
js实现焦点进入文本框内关闭输入法:imeMode 要用到的东西: imeMode:xxx 有四个参数 active 代表输入法为中文 inactive 代表输入法为英文 auto 代表打开输入法 (默认) disable 代表关闭输入法 <INPUT onfocus=" this.style.imeMode='active' " /> <INPUT onfocus=" this.style.imeMode='inactive' " /> &
-
javascript实现富文本框选中对齐的思路与代码
目录 需求: 分析需求: 1如何获取选中的部分 * 2什么是块元素 3末梢元素(没有子节点的元素) 实现思路: 代码实现: 总结 需求: 一个可编辑(contenteditable=true)的div,对齐选中内容,左.中,右 ,其实质是:对选中的末梢节点,找到块属性的父元素,设置text-algin:center: MDN:text-align CSS属性定义行内内容(例如文字)如何相对它的块父元素对齐.text-align 并不控制块元素自己的对齐,只控制它的行内内容的对齐. 分析需求: 我
-
javascript实现的一个自定义长度的文本自动换行的函数。
很多朋友在制作网页过程中总是发现某些时候一些英文会把原来好好的表格撑开而导致变形,虽然可以使用style="table-layout:fixed;word-wrap:break-word;word-break:break-all" 来解决这个问题,但有些时候会导致内容显示不完整而被隐藏了起来,并没有做到自动换行的效果. 于是偶就想写一个这样的函数来修补这个缺陷,这个函数很简单,但这里只是提供一种思路来解决这个问题. function fnAddBr(id, iPerLineLen){.
-
javascript 一个自定义长度的文本自动换行的函数
很多朋友在制作网页过程中总是发现某些时候一些英文会把原来好好的表格撑开而导致变形,虽然可以使用style="table-layout:fixed;word-wrap:break-word;word-break:break-all" 来解决这个问题,但有些时候会导致内容显示不完整而被隐藏了起来,并没有做到自动换行的效果. 于是偶就想写一个这样的函数来修补这个缺陷,这个函数很简单,但这里只是提供一种思路来解决这个问题. function fnAddBr(id, iPerLineLen){.
-
perl 指定长度并生成一个随机的DNA序列的脚本代码
复制代码 代码如下: #!/bin/perl use strict; use warnings; #进行定义 my @dna; my $dna_length; my $newbase; my $i=0; print "please input the DNA length\n"; chomp($dna_length=<>); while($i<$dna_length) { #从四个碱基中随机选取一个 my(@nucleotides)=qw/A
-
Python和perl实现批量对目录下电子书文件重命名的代码分享
经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名: 例如: 修改前:[我们]Mac OS X for Unix Geeks[www.jb51.net].mobi 修改后:Mac OS X for Unix Geeks.mobi python代码如下: 复制代码 代码如下: import os import re def rename_dir(dir,regex,f): if not os.path.i
-
捕获input文本框内容改变事件的js代码
网上一位老兄采用如此方法: readonly :是文本框不可输入. function dochg(){ document.getElementById("testId").value = "test" } setTimeout("dochg()",1000) function showValue(obj){ alert("changed value is " + obj); } [Ctrl+A 全选 注:如需引入外部Js需刷新
随机推荐
- Lua函数与字符串处理简明总结
- IE7降低内存和降低CPU的几个技巧
- java 用递归获取一个目录下的所有文件路径的小例子
- PHP的Yii框架中行为的定义与绑定方法讲解
- 详解ASP.NET Core实现强类型Configuration读取配置数据
- JavaScript设计模式之外观模式介绍
- PHP加密解密字符串汇总
- 解析SQLite中的常见问题与总结详解
- IE图片缓存document.execCommand("BackgroundImageCache",false,true)
- 纯C语言:贪心Prim算法生成树问题源码分享
- SQLServer存储过程创建和修改的实现代码
- PHP的serialize序列化数据以及JSON格式化数据分析
- 简单实现异步编程promise模式
- java 线程详解及线程与进程的区别
- IIS6.0 IIS7.5应用程序池自动停止的解决方法
- shiro无状态web集成的示例代码
- MyBatis学习教程(五)-实现关联表查询方法详解
- React中的render何时执行过程
- 对python中xlsx,csv以及json文件的相互转化方法详解
- 详解Angular结合zTree异步加载节点数据