Python 读取文档各行中同一列数据并按首尾相接合并输出到另一个文件中

如图,读取红框中数据,空白处为空格,读取取之后将数据合并为一行,如09ESPN26000320...直到最后(近万行)

def zhidao_556225095(infile, outfile):
    reader = open(infile, 'r')
    writer = open(outfile, 'w')
    buff = []
    buff_size = 1000   # 文件太大,分块缓存输出
    while True:
        line = reader.readline()
        if len(line) == 0:
            break
        field = line.split()[2]
        buff.append(field.strip())
        if len(buff) >= buff_size:
            writer.write(''.join(buff))
            buff = []
    else:
        writer.write(''.join(buff))
    writer.close()
    reader.close()

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-27
假设数据存储在文件 test.txt中,程序如下(未经测试,大概是这么个意思)
lines=open(r'test.txt').readlines()

text=[]
for line in lines:
word=line.split()
thirdword=word[2].strip()
text.append(thirdword)
result=''.join(text)
print result本回答被提问者采纳
第2个回答  2013-06-04
def read_append(file_in,col,file_out):
with open(file_in,'r') as infile,open(file_out,'w') as outfile:
for line in infile:
line=line.split()[col-1]
outfile.write(line)

read_append('in.txt',3,'out.txt')

read_append函数三个参数,第一个为输入文件,第二个为需要输出的列,第三个为输出文件。

效果:
ESPN26UOOFD76DREWRTAW6X2LKJL14ESPN26UOOFD76DREWRTAW6X2LKJ。。。。。追问

这效果不对啊

追答

我的效果文字是我随便输入的。。你可以用你的文档试一下

第3个回答  2013-06-05
可以用readline,split两个函数搞定
相似回答