
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
Write Data from Multiple Files to a Master File in Python
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