使用python编程,实现对txt文件中每行内容进行追加。
我现在有多个txt文件,每个文件的数据排列是相同的,每个文件中都有两列数据,分隔符为空格,现希望将每个txt文件中的后面一列数据提取出来,整合成一个txt文件,希望这个整...
我现在有多个txt文件,每个文件的数据排列是相同的,每个文件中都有两列数据,分隔符为空格,现希望将每个txt文件中的后面一列数据提取出来,整合成一个txt文件,希望这个整合的txt文件跟以前一样是多列排布的,每一列都是以前某个txt文件中的一列。以下是我自己写的程序,只是新手,在网上搬搬套套,能够提取出每列的数据,但整合的txt文件只有一列,不能实现对每行内容进行追加,都是一列一列操作的。
展开
1个回答
展开全部
#-*- coding:utf-8 -*-
import re
import os
filepath='E:\\data11-20\\0.025'
#filepath=os.getcwd()
lst=[]
for i in range(3,100):
filename='plane1-conv{:03d}.out'.format(i)
fullname=(os.sep).join([filepath,filename])
with open(fullname) as f:
s=f.read()().strip()
lst1=[re.split(r'\s+',si.strip())[-1] for si in s.split('\n')]
lst.append(lst1)
#lst是一个二维数组,每个文件的最后一列作为一个一维数组存在里面
#然后找出最长列的长度lmax,其他比它短的数据列,用lmax-len(i)组空格补到和它一样长
#每组空格的数目等于数据列的第一个数据的长度
lmax=max([len(i) for i in lst])
ws=[i+[' '*len(i[0])]*(lmax-len(i)) for i in lst]
with open('E:\\hehe.txt','w') as wf:
wf.write('\n'.join([' '.join(i) for i in ws]))
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询