以下是一个示例代码,演示了如何在Python中使用openpyxl库遍历一个工作表的一列,并在另一个工作表的表头中找到匹配项后将数据复制并转置到原始工作表中。
import openpyxl
# 打开原始工作簿
workbook = openpyxl.load_workbook('原始工作簿.xlsx')
worksheet = workbook['原始工作表']
# 打开目标工作簿
target_workbook = openpyxl.load_workbook('目标工作簿.xlsx')
target_worksheet = target_workbook['目标工作表']
# 遍历原始工作表的一列
for row in worksheet.iter_rows(min_row=2, max_row=worksheet.max_row, min_col=1, max_col=1):
cell_value = row[0].value
# 在目标工作表的表头中查找匹配项
for col in target_worksheet.iter_cols(min_row=1, max_row=1):
for cell in col:
if cell.value == cell_value:
# 找到匹配项后,将数据复制并转置到原始工作表中
for i, cell_data in enumerate(target_worksheet.iter_cols(min_row=2, max_row=target_worksheet.max_row, min_col=cell.column, max_col=cell.column)):
worksheet.cell(row=row[0].row, column=i+2).value = cell_data[0].value
# 保存原始工作簿
workbook.save('原始工作簿.xlsx')
请注意,上述代码假设原始工作簿和目标工作簿都是以xlsx格式保存的,并且原始工作表和目标工作表都存在于相应的工作簿中。您需要根据实际情况修改文件名和工作表名称。此外,上述代码是基于openpyxl库编写的,您需要使用pip安装该库,例如pip install openpyxl
。
上一篇:遍历一列需要很长时间。