批量将不同的工作簿合并到同一个Excel文件
下面是一个示例,展示如何批量将不同的工作簿合并到同一个Excel文件,并生成模拟数据。我们将使用 Python 的 pandas
库来完成这个任务。具体步骤如下:
步骤 1: 安装必要的库
首先确保你已安装 pandas
和 openpyxl
库。如果没有安装,可以通过以下命令进行安装:
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’”的文件,里面包含了所有班级的成绩数据。
欢迎点赞、关注、收藏、转发!!!