Python - 将多个文件数据写入主文件
pythonserver side programmingprogramming
文件处理是任何 Web 应用程序的重要组成部分。
Python 有多个函数用于创建、读取、更新和删除文件。
要写入现有文件,必须向 open() 函数添加一个参数 −
"a" − 附加 − 将附加到文件末尾
"w" − 写入 − 将覆盖任何现有内容
示例
import os # 列出目录中的文件 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: # 检查文件是否存在 # 如果是,则删除文件 # 否则数据将附加到现有文件 if len(tgt)>0: os.remove('D:\python' '\data_files\target_file\master.txt') open(tgt, 'a').close() else: # 创建一个空文件 open(tgt, 'a').close() except: head = open('D:\python' '\data_files\target_file\master.txt', 'a+') line ='empno, ename, sal' # 将标题写入输出 print(head, line) head.close() # 以下循环将数据写入输出文件 for line1 in lis: f_dir = file_dir+'\'+line1 # 以读取模式打开文件 in_file = open(f_dir, 'r+') # 以追加模式打开输出 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() #使用 pandas import pandas as pd # pd.read_csv 创建数据框 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 函数连接帧 result = pd.concat(frames) # to_csv 函数将输出写入文件 result.to_csv('D:\python\data_files' '\target_file\master.txt', encoding ='utf-8', index = False)