跪求perl程序,打开txt格式A文件,将其中空格替换为制表符,然后保存为excel格式的B文件
答案:1 悬赏:50 手机版
解决时间 2021-03-27 11:22
- 提问者网友:几叶到寒
- 2021-03-27 00:37
跪求perl程序,打开txt格式A文件,将其中空格替换为制表符,然后保存为excel格式的B文件
最佳答案
- 五星知识达人网友:山河有幸埋战骨
- 2021-03-27 01:11
#!/usr/bin/perl -w
use strict;
open IN,"C:\\perl\\A.txt"; #这个是你A文件的路径,注意路径中的\要用\\
open OUT,">C:\\perl\\B.xls"; #这个是你输出的B文件的路径,注意路径中的\要用\\
while(){
$_=~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个呢?追问我加你秋秋了啊大神~~~(三哥)
秋秋聊吧,我把文件传给你你一看就明白了~~追答我上班没法QQ啊,汗,要不你贴几行上来,吧上面的问题说一下吧。追问详细追问内容见私信,有点长这里贴不上来。。。。。。追答看了你的私信,不好意思,今天才注意看,我也明白你的意思了。你这种情况最好还是不用数组操作,最好用字符串的方式处理。使用substr函数。
比如字符串 $A = "1234567890";
比如我们要将第5个字符替换成字符制表符,并存放到变量$B。执行语句就是:
$B = substr($A,0,4)."\t".substr($A,5,);
substr($A,0,4);
其中0表示从0的位置开始,4表示取出从0位置起之后的4个字符。
substr($A,5,);
这个表示从第5位置之后起的到字符串尾的所有字符。
不知道理解了没有,可以尝试一下这个函数。
use strict;
open IN,"C:\\perl\\A.txt"; #这个是你A文件的路径,注意路径中的\要用\\
open OUT,">C:\\perl\\B.xls"; #这个是你输出的B文件的路径,注意路径中的\要用\\
while(
$_=~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个呢?追问我加你秋秋了啊大神~~~(三哥)
秋秋聊吧,我把文件传给你你一看就明白了~~追答我上班没法QQ啊,汗,要不你贴几行上来,吧上面的问题说一下吧。追问详细追问内容见私信,有点长这里贴不上来。。。。。。追答看了你的私信,不好意思,今天才注意看,我也明白你的意思了。你这种情况最好还是不用数组操作,最好用字符串的方式处理。使用substr函数。
比如字符串 $A = "1234567890";
比如我们要将第5个字符替换成字符制表符,并存放到变量$B。执行语句就是:
$B = substr($A,0,4)."\t".substr($A,5,);
substr($A,0,4);
其中0表示从0的位置开始,4表示取出从0位置起之后的4个字符。
substr($A,5,);
这个表示从第5位置之后起的到字符串尾的所有字符。
不知道理解了没有,可以尝试一下这个函数。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯