Home > Software engineering >  concatenating files in python
concatenating files in python

Time:02-20

I have files in a directory and i want to concatenate these files vertically to make a single file.

input

file1.txt   file2.txt
1              8
2              8
3              9

i need output

1
2
3
8
8
9

My script is

import glob
import numpy as np
for files in glob.glob(*.txt):
    print(files)
    np.concatenate([files])

but it doesnot concatenate vertically instead it produces last file of for loop.Can anybody help.Thanks.

CodePudding user response:

There's a few things wrong with your code, Numpy appears a bit overkill for such a mundane task in my opinion. You can use a much simpler approach, like for instance:

import glob

result = ""
for file_name in glob.glob("*.txt"):
    
    with open(file_name, "r") as f:
        
        for line in f.readlines():
            result  = line
print(result)

In order to save the result in a .txt-file, you could do something like:

with open("result.txt", "w") as f:
    f.write(result)

CodePudding user response:

This should work.

import glob

for files in glob.glob('*.txt'):
    fileopen = open(r""   files, "r ")
    file_contents = fileopen.read()
    output = open("output.txt", "a")
    output.write(file_contents)
    output.close()
  • Related