要实现自动筛选行的复制范围,可以使用以下代码示例:
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
# 选择工作表
worksheet = workbook['Sheet1']
# 自动筛选行的复制范围
copy_range = []
# 获取表格中的数据范围
data_range = worksheet.iter_rows(min_row=2, max_row=worksheet.max_row, max_col=worksheet.max_column)
# 遍历每一行
for row in data_range:
# 判断行是否满足筛选条件
if row[0].value == '条件1' and row[1].value == '条件2':
# 将满足条件的行添加到复制范围中
copy_range.append([cell.value for cell in row])
# 创建新的工作表
new_worksheet = workbook.create_sheet('Filtered Sheet')
# 将复制范围中的数据复制到新的工作表
for row_index, row_data in enumerate(copy_range, start=1):
for col_index, value in enumerate(row_data, start=1):
new_worksheet.cell(row=row_index, column=col_index, value=value)
# 保存修改后的Excel文件
workbook.save('example_filtered.xlsx')
以上代码假设example.xlsx
文件中的数据位于Sheet1
工作表中。代码会根据特定的筛选条件(此处为第一列等于条件1
且第二列等于条件2
)来筛选行,并将满足条件的行复制到名为Filtered Sheet
的新工作表中。最后,将修改后的Excel文件保存为example_filtered.xlsx
。
上一篇:不排除拥有特定特权的人的查询
下一篇:不排列而是从两列排列