Bootstrap

批量将不同的工作簿合并到同一个Excel文件

批量将不同的工作簿合并到同一个Excel文件

下面是一个示例,展示如何批量将不同的工作簿合并到同一个Excel文件,并生成模拟数据。我们将使用 Python 的 pandas 库来完成这个任务。具体步骤如下:

步骤 1: 安装必要的库

首先确保你已安装 pandasopenpyxl 库。如果没有安装,可以通过以下命令进行安装:

pip install pandas openpyxl

步骤 2: 模拟生成数据并保存为不同的工作簿

这段代码将生成三个不同的 Excel 文件,分别为“三年一班.xlsx”,“三年二班.xlsx”和“三年三班.xlsx”。

import pandas as pd
import numpy as np
import random


# 定义函数生成模拟数据
def create_class_data(class_name, num_students=10):
    data = {
        '姓名': [f"{random.choice(['张','赵','钱','孙', '李','刘','王','吴'])}{random.choice(['三','四','五','六','二','八','七'])}" for i in range(num_students)],
        '数学': np.random.randint(60, 100, size=num_students),
        '语文': np.random.randint(60, 100, size=num_students),
        '英语': np.random.randint(60, 100, size=num_students)
    }
    df = pd.DataFrame(data)
    df.to_excel(f'{class_name}.xlsx', index=False)

# 创建三个班级的数据
create_class_data('三年一班')
create_class_data('三年二班')
create_class_data('三年三班')

步骤 3: 合并工作簿到一个 Excel 文件

接下来,我们将上述生成的三个工作簿合并到一个名为“‘三年级总成绩单.xlsx’”的 Excel 文件中。

# 合并工作簿
excel_files = ['三年一班.xlsx', '三年二班.xlsx', '三年三班.xlsx']
combined_data = pd.DataFrame()

for file in excel_files:
    df = pd.read_excel(file)
    df['班级'] = file.split('.')[0]  # 添加班级列
    combined_data = pd.concat([combined_data, df], ignore_index=True)

# 保存合并后的数据到一个新的 Excel 文件
combined_data.to_excel('三年级总成绩单.xlsx', index=False)

总结

您现在可以运行上述代码片段。首先生成三个班级的成绩表,然后合并它们到一个总成绩单中。最后,您会在当前目录下看到一个名为“‘三年级总成绩单.xlsx’”的文件,里面包含了所有班级的成绩数据。

欢迎点赞、关注、收藏、转发!!!

;