在Python中,合并多个文件通常可以通过以下几种方法实现:
使用Pandas库合并Excel文件:
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)
new_list.append(dataframe)
多个DataFrame合并为一个
df = pd.concat(new_list)
写入到一个新excel表中
df.to_excel(new_filename, index=False)
使用Pandas库合并CSV文件:
import pandas as pd
使用pd.read方法分别打开两个csv文件
file = pd.read_csv('pink.csv', encoding='gbk')
file2 = pd.read_csv('pimk2.csv', encoding='gbk')
使用pd.merge()方法按列合并两个文件
file3 = pd.merge(file, file2, how='left', left_on='', right_on='WELL')
合并多个txt文件:
定义要合并的txt文件列表
txt_files = ['file1.txt', 'file2.txt', 'file3.txt']
打开要写入的合并文件
with open('merged_file.txt', 'w') as outfile:
遍历每个txt文件
for file in txt_files:
打开每个txt文件
with open(file, 'r') as infile:
将文件内容写入合并文件
outfile.write(infile.read())
合并文件夹下的所有文件:
import os
def merge_files(fileslist, mfname):
global FILE_SLIM
FILE_SLIM = 256 * (1024 * 1024) 256MB
p_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_SLIM
count -= 1
p_fp.write(c_fp.read())
p_fp.close()
合并多个文件到一个新文件:
import os
目标文件夹的路径
filedir = r'D:\jmeter15\res'
获取目标文件的文件名称列表
filenames = os.listdir(filedir)
打开一个新文件,如果没有则创建
with open(r'D:\jmeter15\res\1.txt', 'w', encoding='utf8') as f:
先遍历文件名
for filename in filenames:
filepath = filedir + '/' + filename
遍历单个文件,读取行数
with open(filepath, encoding='utf8') as file:
f.writelines(file.readlines())
f.write('\n') 添加换行符
f.close()
请根据你的具体需求选择合适的方法。如果你需要合并的是不同类型的文件,你可能需要先转换文件格式,然后再进行合并。