簡單記錄
因為我不太熟練使用Excel,偶爾有這種需求,所以做個記錄
import pandas as pd
from openpyxl import Workbook, load_workbook
# 读取 Excel 文件
file_path = '更新後名單.xlsx' # 替换为你的文件路径
# 获取所有工作表的名称
sheets = pd.ExcelFile(file_path).sheet_names
# 读取每个工作表的数据
dataframes = {sheet: pd.read_excel(file_path, sheet_name=sheet) for sheet in sheets}
# 目标 Excel 文件路径
output_file_path = 'combined_sheet.xlsx'
# 如果目标文件不存在,创建一个新的 Excel 文件
try:
wb = load_workbook(filename=output_file_path)
sheet = wb['Combined'] # 假设目标工作表名为 'Combined'
except FileNotFoundError:
wb = Workbook()
sheet = wb.active
sheet.title = 'Combined'
# 写入表头(假设所有工作表的表头一致)
header = dataframes[sheets[0]].columns.tolist()
sheet.append(header)
# 获取当前行数
row_start = sheet.max_row + 1
# 遍历每个工作表的数据,并追加到目标工作表中
for sheet_name, df in dataframes.items():
# 将 DataFrame 转换为二维列表
data = df.values.tolist()
# 写入数据到目标工作表
for row in data:
sheet.append(row)
# 保存工作簿
wb.save(output_file_path)