免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 21848 | 回复: 2
打印 上一主题 下一主题

python初级习题,如何将多行合并成一行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-10-21 02:53 |只看该作者 |倒序浏览
读取下面的文件,重新组合字符,合并成输出格式为由Line开头的3行。


需要读取的数据文件如下

Line1
Q
E
Line2
P
E
Line3
P
V


想要达到的输出方式如下

Line1 QE
Line2 PE
Line3 PV


我写了一个程序只能按照原来的格式进行输出,请帮我看看如何进行那三行的重新排列。多谢!!

#!/usr/bin/python
import sys
filename=sys.argv[1]  
data=open(filename)

a=0
lines = data.readlines()
for linestr in lines:
        linestr = linestr.strip()
        a=a+1
        print linestr

论坛徽章:
0
2 [报告]
发表于 2013-10-22 11:04 |只看该作者
data=open(filename).read()
l = re.findall(r'Line\d+[^(Line\d+)]+',data)
for ln in l:
    lns = ln.split('\n')
    print lns[0],''.join(lns[1:])

论坛徽章:
0
3 [报告]
发表于 2014-06-22 20:14 |只看该作者
回复 1# s081009


my $line = do { local $/; <DATA> };
my @res = ($line =~ /Line\d+[^(Line\d+)]+/g);
for (@res) {
    my ($l, @res1) = split '\n';
    print $l . " ", @res1,"\n";
}
__DATA__
Line1
Q
E
Line2
P
E
Line3
P
V
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP