Python:连接列表中的文件

时间:2014-11-17 22:02:13

标签: python list file concatenation

我是Python的新手,我正在尝试将当前存在于同一列表中的文件合并到一个文件中。

他们共享相同的列。我看起来像这样:

  

FILE_A
     A B C
     1 ...
     2 ...
     3 ...

     

FILE_B
     A B C
     4 ...
     5 ...
     6 ...

我想要创建的是:

  

FILE_C
     A B C
     1 ...
     2 ...
     3 ...
     4 ...
     5 ...
     6 ...

我尝试的是(在“文件”列表中):

import fileinput
with open(file_c,'w') as fout:
    for line in fileinput.input(file_a, file_b):
        fout.write(line); 

没有骰子。我最终会重复使用永恒的线条。

我尝试过其他代码也无济于事。我知道我在做一些愚蠢的事,但我知道那件事是不知情的。

感谢。

2 个答案:

答案 0 :(得分:4)

只需遍历每个文件对象并将这些行写入新文件:

with open("input1.txt") as f, open("input2.txt") as f2,open("output.txt","w") as f3:
    f2.next() # skip header to avoid writing  A B C twice
    for line in f:
        f3.write(line)
    f3.write("\n") # separate last line from file 1 and first of file 2
    for line in f2:
        f3.write(line)

答案 1 :(得分:0)

根据流程运行的时间长短,您可以轻松使用

with open('output.txt', 'w') as out:
    out.writelines(open('file_a').readlines())
    out.writelines(open('file_b').readlines()[1:])