生成表格與合併表格

redufa發表於2024-10-29

以下是一個Python指令碼的示例,它將生成5個不同的Excel檔案,每個檔案包含不同的資料:

import pandas as pd
import numpy as np

# 設定檔名字首和數量
file_prefix = 'excel_file'
number_of_files = 5

# 迴圈生成5個檔案
for i in range(1, number_of_files + 1):
    # 建立一些不同的資料
    data = np.random.randint(1, 10, size=(10, 3))  # 10行3列的隨機整數
    # 建立一個Pandas DataFrame
    df = pd.DataFrame(data, columns=['Column1', 'Column2', 'Column3'])
    # 構建檔名
    filename = f'{file_prefix}_{i}.xlsx'
    # 寫入Excel檔案
    df.to_excel(filename, index=False)
    print(f'檔案 {filename} 已生成。')

print('所有檔案已生成。')

合併表格內容


import os
import openpyxl

def merge_excel_files_to_one_sheet(folder_path, output_file):
    # 建立一個新的工作簿和工作表
    new_workbook = openpyxl.Workbook()
    new_sheet = new_workbook.active
    new_sheet.title = 'merged_sheet'
    
    # 遍歷資料夾中的所有檔案
    for filename in os.listdir(folder_path):
        if filename.endswith('.xlsx'):
            # 構建完整的檔案路徑
            file_path = os.path.join(folder_path, filename)
            # 載入工作簿
            workbook = openpyxl.load_workbook(file_path)
            # 假設我們只合並每個工作簿的第一個工作表
            sheet = workbook[workbook.sheetnames[0]]
            # 複製工作表內容到新工作表
            for row in sheet.iter_rows(values_only=True):
                new_sheet.append(row)
    
    # 儲存合併後的工作簿
    new_workbook.save(output_file)
    print(f'合併後的檔案已儲存為:{output_file}')

        
        # 設定資料夾的相對路徑
folder_path = os.getcwd()  # 根據你的檔案結構調整這個路徑
output_file = 'merged_excel.xlsx'  # 輸出檔名
merge_excel_files_to_one_sheet(folder_path, output_file)


相關文章