生成表格与合并表格

以下是一个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)


posted @ 2024-10-29 22:21  redufa  阅读(0)  评论(0编辑  收藏  举报