0

我想将 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)

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

4

2 回答 2

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)
于 2013-02-23T19:56:55.103 回答
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)
于 2013-02-23T19:59:25.913 回答