跪求perl程序,打开txt格式A文件,将其中空格替换为制表符,然后保存为excel格式的B文件

如题描述。比如:A.txt:aaaaaaaaabbbbbbbbb.....zzzzzzzzz在perl中打开A文件,将其中空格都替换为制表符,转行回车不变,然后保存到B文... 如题描述。

比如:
A.txt:
aaa aaa aaa

bbb bbb bbb
.....
zzz zzz zzz

在perl中打开A文件,将其中空格都替换为制表符,转行回车不变,然后保存到B文件

B.xls:(呈表格行列排布)
列1 列2 列3
第一行 aaa aaa aaa

第二行 bbb bbb bbb
.....
第n行 zzz zzz zzz
3、如果分割之后数组大小不是30的整数倍,比如分割之后一共有80个元素,那么我是需要将第5个、第35个和第65个都处理,还是只用处理第5个和第35个呢?

答:我明白你的意思,按照我之前说的通过查找“<”和“\r\n\r\n”作为分割的起始点,所有信息的长度都是一样的,都为70个字符总数,所以不用担心数组长度不一样。在单个数组中你只需要处理第5个和第35个就行,剩下的我再改~

大神你真的好给力啊有木有~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
展开
 我来答
laohu2862
2013-08-12 · TA获得超过1246个赞
知道小有建树答主
回答量:557
采纳率:0%
帮助的人:643万
展开全部
#!/usr/bin/perl -w
use strict;
open IN,"C:\\perl\\A.txt"; #这个是你A文件的路径,注意路径中的\要用\\
open OUT,">C:\\perl\\B.xls"; #这个是你输出的B文件的路径,注意路径中的\要用\\
while(<IN>){
$_=~s/([ \t])+/\t/g; #将一行中的空格替换成制表符
print OUT $_;#输出替换后的内容
}
close IN;
close OUT;

以上为代码,有不明白的地方,欢迎追问。
更多追问追答
追问
那如果是这样:

1. 我把txt文本读进来以后存做一个数组(所有符号和数字、字母都看做一个独立元素),然后每 30个元素作为一个小的数组。

2. 在每一个小的数组中,把第5个元素替换为制表符,其他不变

3. 输出保存为excel格式文件

完成以上操作代码应该怎么写
追答
这个可以实现,不过我需要确认以下几个问题:
1、是整个文件作为一个数组还是每行读入作为一个数组?
2、每个独立元素之间用什么分割的,还是使用的空格分割吗?
3、如果分割之后数组大小不是30的整数倍,比如分割之后一共有80个元素,那么我是需要将第5个、第35个和第65个都处理,还是只用处理第5个和第35个呢?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式