用python加入单独的文件

时间:2013-02-23 19:53:10

标签: python

我想将100个不同的文件合并为一个。

包含数据的文件示例:

example1.txt采用以下格式:

  something
  something 
  somehting

example2.txt采用以下格式:

 something
 something 
 somehting

并且所有100个文件都具有相同的数据格式,并且还有一个通用名称example1 ..... example100,这意味着示例相同并且有一个数字。

from itertools import chain


 infiles = [open('{}_example.txt'.format(i+1), 'r') for i in xrange(113)]
 with open('example.txt', 'w') as fout:
      for lines in chain(*infiles):
            fout.write(lines)

我用过这个,但问题是下一个文件的第一行与上一个文件

连接

2 个答案:

答案 0 :(得分:2)

如果您有100个文件,最好只使用一组文件:

infiles = [open('example{}.txt'.format(i+1), 'r') for i in xrange(100)]
with open('Join.txt', 'w') as fout:
    for lines in izip_longest(*infiles, fillvalue=''):
        lines = [line.rstrip('\n') for line in lines]
        print >> fout, separator.join(lines)

答案 1 :(得分:0)

我会将一个新文件打开为可写:join.txt,然后使用范围(1,100)遍历所需的文件:

join = open('Join.txt','w')
for file in range(1,100):
  file = open('example'+file+'.txt','r')
  file = file.readlines()
  for line in file:
    join.write(line)