在Python中合并多个文件,你可以使用不同的方法,具体取决于文件的类型和你想要达到的目的。以下是几种常见的方法:
合并CSV文件
如果你想要合并多个CSV文件,可以使用`pandas`库。以下是一个示例代码:
import pandas as pd记录文件夹路径file_dir = 'C:\\数据分析\\个人实操\\python数据视图\\实操作业一 多文件合并\\数据源\\folder' 文件路径new_filename = file_dir + '\\new_file.xlsx' 构建新的表格名称找到文件路径下的所有表格名称,返回列表file_list = os.listdir(file_dir)new_list = []for file in file_list:file_path = os.path.join(file_dir, file) 重构文件路径dataframe = pd.read_excel(file_path) 将excel转换成DataFramenew_list.append(dataframe) 保存到新列表中df = pd.concat(new_list) 多个DataFrame合并为一个df.to_excel(new_filename, index=False) 写入到一个新excel表中
合并文本文件
如果你想要合并多个文本文件,可以使用以下代码:
import ospath = 'D:\Downloads\网站日志' 文件夹目录files = os.listdir(path) 得到文件夹下的所有文件名称with open('合成.log', 'a') as log: 以追加模式打开文件for file in files:with open(os.path.join(path, file), 'r') as f: 打开文件log.write(f.read()) 写入文件内容print('已经合并:' + file) 打印合并的文件名
合并二进制文件
如果你想要合并二进制文件,可以使用以下代码:
import osdef merge_files(fileslist, mfname):FILE_SLIM = 256 * (1024 * 1024) 256MBp_fp = open(mfname, 'wb') 打开新文件for file in fileslist:with open(file, 'rb') as c_fp: 打开文件fsize = os.stat(file).st_size 获取文件大小count = fsize & FILE_SLIM 计算要读取的字节数while count > 0:p_fp.write(c_fp.read(FILE_SLIM)) 写入文件内容fsize -= FILE_SLIMcount -= 1p_fp.close() 关闭新文件调用函数合并文件merge_files(['file1.bin', 'file2.bin'], 'merged.bin')
请根据你的具体需求选择合适的方法,并确保你有适当的文件读取和写入权限。如果你需要合并其他类型的文件,你可能需要使用不同的库或自定义方法。

