Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Python - Write multiple files data to master file
File handling is an important part of any web application.
Python has several functions for creating, reading, updating, and deleting files.
To write to an existing file, you must add a parameter to the open()function −
"a" − Append − will append to the end of the file
"w" − Write − will overwrite any existing content
Example
import os
# list the files in directory
lis = os.listdir('D:\python' '\data_files\data_files')
print(lis)
tgt = os.listdir('D:\python' '\data_files\target_file')
file_dir ='D:\python\data_files\data_files'
out_file = r'D:\python\data_files\target_file\master.txt'
ct = 0
print('target file :', tgt)
try:
# check for if file exists
# if yes delete the file
# otherwise data will be appended to existing file
if len(tgt)>0:
os.remove('D:\python' '\data_files\target_file\master.txt')
open(tgt, 'a').close()
else:
# create an empty file
open(tgt, 'a').close()
except:
head = open('D:\python' '\data_files\target_file\master.txt', 'a+')
line ='empno, ename, sal'
# write header to output
print(head, line)
head.close()
# below loop to write data to output file
for line1 in lis:
f_dir = file_dir+'\'+line1
# open files in read mode
in_file = open(f_dir, 'r+')
# open output in append mode
w = open(out_file, 'a+')
d = in_file.readline()
d = in_file.readlines()
w.write("\n")
for line2 in d:
print(line2)
w.write(line2)
ct = ct + 1
w.close()
#using pandas
import pandas as pd
# pd.read_csv creates dataframes
df1 = pd.read_csv('D:\python\data_files\data_files\emp_1.txt')
df2 = pd.read_csv('D:\python\data_files\data_files\emp_2.txt')
df3 = pd.read_csv('D:\python\data_files\data_files\emp_3.txt')
frames = [df1, df2, df3]
# concat function concatenates the frames
result = pd.concat(frames)
# to_csv function writes output to file
result.to_csv('D:\python\data_files' '\target_file\master.txt', encoding ='utf-8', index = False)Advertisements