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需刷新
随机推荐
- Extjs根据条件设置表格某行背景色示例
- Shell脚本中的特殊字符(美元符、反斜杠、引号等)作用介绍
- 正则表达式字符类加深理解
- iOS中使用UIDatePicker制作时间选择器的实例教程
- Android自定义UI实现微信语音
- 深入理解用mysql_fetch_row()以数组的形式返回查询结果
- Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
- 使用ASP记录在线用户的数量的代码
- XMLHTTP资料
- linux 命令每天必学之tar命令
- Apache+Weblogic实现URL转发
- JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
- 有一段有意思的代码-javascript现实多行信息
- 容易引起沙盒效应的SEO细节[站长必看]
- win2008 r2 x64上配置iis的艰难历程分享
- 400多行Python代码实现了一个FTP服务器
- Textvie实现左边图片和换行文字左对齐的方法
- Python实现字典按key或者value进行排序操作示例【sorted】
- rapidjson解析json代码实例以及常见的json core dump问题
- Java 10 局部变量类型推断浅析