概要
通過遍歷指定目錄下的多個(gè)Excel文件,將它們的數(shù)據(jù)合并到一個(gè)新的Excel文件中,實(shí)現(xiàn)Excel數(shù)據(jù)合并的功能。
整體架構(gòu)流程
代碼的主要流程如下:
導(dǎo)入所需的庫:os用于文件路徑操作,openpyxl用于處理Excel文件。
定義目錄路徑和保存的新文件名:將要合并的Excel文件所在的目錄路徑賦值給dir_path變量,合并后的Excel文件的文件名賦值給new_file_name變量。
創(chuàng)建新的工作簿對象:通過Workbook()函數(shù)創(chuàng)建一個(gè)新的工作簿對象,并使用.active屬性獲取默認(rèn)的工作表。
遍歷目錄下的所有xlsx文件:使用os.listdir()函數(shù)遍歷指定目錄下的所有文件,判斷文件名是否以.xlsx結(jié)尾,如果是則認(rèn)為是Excel文件。
讀取文件中的工作表:使用load_workbook()函數(shù)加載Excel文件,得到一個(gè)工作簿對象,然后使用.active屬性獲取默認(rèn)的工作表。
遍歷數(shù)據(jù)行并復(fù)制到新的工作表中:通過iter_rows()方法遍歷每一行的數(shù)據(jù),將每一行的數(shù)據(jù)以列表的形式追加到新的工作表中。
保存合并后的數(shù)據(jù)到新文件中:使用save()方法將新的工作簿對象保存為一個(gè)新的Excel文件,文件路徑為合并目錄下的new_file_name。
打印合并完成的提示信息。文章來源:http://www.zghlxwxcb.cn/news/detail-563306.html
代碼
import os
from openpyxl import Workbook, load_workbook
# 定義路徑和保存的新文件名
dir_path = 'F:/code_test/fenlei'
new_file_name = 'merged.xlsx'
# 初始化一個(gè)新的工作簿對象
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
# 遍歷數(shù)據(jù)行并將它們復(fù)制到新的工作表中
for row in file_sheet.iter_rows(values_only=True):
merged_sheet.append(row)
# 將數(shù)據(jù)保存到新文件中
merged_book.save(os.path.join(dir_path, new_file_name))
print("All files have been merged and saved to " + new_file_name)
小結(jié)
這段代碼的功能是將指定目錄下的多個(gè)Excel文件中的數(shù)據(jù)合并到一個(gè)新的Excel文件中。文章來源地址http://www.zghlxwxcb.cn/news/detail-563306.html
到了這里,關(guān)于【代碼】Python實(shí)現(xiàn)Excel數(shù)據(jù)合并的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!