概要
通过遍历指定目录下的多个Excel文件,将它们的数据合并到一个新的Excel文件中,实现Excel数据合并的功能。
整体架构流程
代码的主要流程如下:
导入所需的库:os用于文件路径操作,openpyxl用于处理Excel文件。
定义目录路径和保存的新文件名:将要合并的Excel文件所在的目录路径赋值给dir_path变量,合并后的Excel文件的文件名赋值给new_file_name变量。
创建新的工作簿对象:通过Workbook()函数创建一个新的工作簿对象,并使用.active属性获取默认的工作表。
遍历目录下的所有xlsx文件:使用os.listdir()函数遍历指定目录下的所有文件,判断文件名是否以.xlsx结尾,如果是则认为是Excel文件。
读取文件中的工作表:使用load_workbook()函数加载Excel文件,得到一个工作簿对象,然后使用.active属性获取默认的工作表。
遍历数据行并复制到新的工作表中:通过iter_rows()方法遍历每一行的数据,将每一行的数据以列表的形式追加到新的工作表中。
保存合并后的数据到新文件中:使用save()方法将新的工作簿对象保存为一个新的Excel文件,文件路径为合并目录下的new_file_name。
打印合并完成的提示信息。文章来源:https://www.toymoban.com/news/detail-563306.html
代码
import os
from openpyxl import Workbook, load_workbook
# 定义路径和保存的新文件名
dir_path = 'F:/code_test/fenlei'
new_file_name = 'merged.xlsx'
# 初始化一个新的工作簿对象
merged_book = Workbook()
merged_sheet = merged_book.active
# 遍历目录下的所有xlsx文件
for filename in os.listdir(dir_path):
if filename.endswith('.xlsx'):
file_path = os.path.join(dir_path, filename)
print(f"Reading data from {file_path}")
# 读取文件中的工作表
file_book = load_workbook(file_path)
file_sheet = file_book.active
# 遍历数据行并将它们复制到新的工作表中
for row in file_sheet.iter_rows(values_only=True):
merged_sheet.append(row)
# 将数据保存到新文件中
merged_book.save(os.path.join(dir_path, new_file_name))
print("All files have been merged and saved to " + new_file_name)
小结
这段代码的功能是将指定目录下的多个Excel文件中的数据合并到一个新的Excel文件中。文章来源地址https://www.toymoban.com/news/detail-563306.html
到了这里,关于【代码】Python实现Excel数据合并的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!