python实现跨excel的工作表sheet之间的复制方法

  • Post category:Python

下面是详细讲解“python实现跨excel的工作表sheet之间的复制方法”的完整实例教程。

操作步骤

  1. 第一步,需要安装Python的常用处理Excel数据的库——openpyxl
pip install openpyxl
  1. 第二步,创建一个Excel文件并添加一些数据。
from openpyxl import Workbook

wb = Workbook()  # 创建一个Excel文件
ws = wb.active  # 选取第一个工作表

# 在第一个工作表中添加一些数据
ws['A1'] = '姓名'
ws['B1'] = '性别'
ws['C1'] = '年龄'
ws.append(['李明', '男', 18])
ws.append(['小红', '女', 17])

# 创建第二个工作表,并将第一个工作表的数据复制到第二个工作表
ws2 = wb.create_sheet('Sheet 2')
for row in ws.iter_rows():
    ws2.append([cell.value for cell in row])

wb.save('example.xlsx')  # 保存Excel文件

在第一步中,我们使用pip安装了openpyxl库。在第二步中,我们使用openpyxl库创建了一个Excel文件并添加了一些数据。

我们将第二个工作表命名为“Sheet 2”并将第一个工作表的数据复制到第二个工作表。通过调用iter_rows()方法可以遍历第一个工作表的所有行,然后使用append()方法将每一行的数据复制到第二个工作表中。

示例说明

示例一

如果我们需要创建多个工作表,并从其他工作表复制数据到新工作表中,可以使用上面的代码块来实现。只需替换相关部分即可。

# 创建第一个工作表
ws1 = wb.create_sheet('Sheet 1')
ws1['A1'] = '学号'
ws1['B1'] = '姓名'
ws1['C1'] = '语文'
ws1['D1'] = '数学'
ws1['E1'] = '英语'
ws1.append(['001', '张三', 90, 85, 88])
ws1.append(['002', '李四', 80, 84, 75])

# 创建第二个工作表,并将第一个工作表中的数据复制到第二个工作表中
ws2 = wb.create_sheet('Sheet 2')
for row in ws1.iter_rows():
    ws2.append([cell.value for cell in row])

# 创建第三个工作表,并将第二个工作表中的数据复制到第三个工作表中
ws3 = wb.create_sheet('Sheet 3')
for row in ws2.iter_rows():
    ws3.append([cell.value for cell in row])

wb.save('example.xlsx')  # 保存Excel文件

通过这个示例,我们可以创建多个工作表,并且这些工作表之间可以相互复制数据。

示例二

我们可以编写一个函数来实现将源工作表的数据复制到目标工作表中的功能:

def copy_sheet(src_sheet, target_sheet):
    for row in src_sheet.iter_rows():
        target_sheet.append([cell.value for cell in row])

然后,我们可以调用这个函数来复制我们需要的工作表:

src_sheet = wb['Sheet 1']  # 源工作表
target_sheet = wb.create_sheet('Target Sheet')  # 目标工作表
copy_sheet(src_sheet, target_sheet)  # 将源工作表的数据复制到目标工作表中
wb.save('example.xlsx')  # 保存Excel文件

通过这个示例,我们可以学习如何编写一个函数来复制工作表中的数据,使代码更加简洁和易于维护。