以下是一个示例代码,可以遍历一个工作表中的行,并将某些单元格的值复制到另一个工作簿中:
import openpyxl
# 打开源工作簿和目标工作簿
source_workbook = openpyxl.load_workbook('source.xlsx')
target_workbook = openpyxl.Workbook()
# 获取源工作簿中的第一个工作表
source_sheet = source_workbook.active
# 创建目标工作簿中的一个新工作表
target_sheet = target_workbook.active
# 遍历源工作表中的每一行
for row in source_sheet.iter_rows():
# 选择需要复制的单元格的列索引(假设为第1列和第2列)
columns_to_copy = [1, 2]
# 创建一个新的列表,用于存储需要复制的单元格的值
values_to_copy = []
# 遍历当前行中的每个单元格
for index, cell in enumerate(row, start=1):
# 如果当前单元格的列索引在需要复制的列表中
if index in columns_to_copy:
# 将当前单元格的值添加到复制值列表中
values_to_copy.append(cell.value)
# 将复制值列表中的值复制到目标工作表中的下一行
target_sheet.append(values_to_copy)
# 保存目标工作簿
target_workbook.save('target.xlsx')
在这个示例中,我们使用openpyxl
库来处理Excel工作簿。首先,我们打开源工作簿和创建目标工作簿。然后,我们获取源工作簿中的第一个工作表,并创建目标工作簿中的一个新工作表。
接下来,我们使用iter_rows()
方法遍历源工作表中的每一行。对于每一行,我们选择需要复制的单元格的列索引,并创建一个空的列表来存储这些单元格的值。
然后,我们遍历当前行中的每个单元格,并检查其列索引是否在需要复制的列表中。如果是,我们将当前单元格的值添加到复制值列表中。
最后,我们将复制值列表中的值复制到目标工作表中的下一行,并保存目标工作簿。