筛选出指定填充色的单元格内容,写入新文件
from openpyxl import load_workbook
from openpyxl.styles import PatternFill
from openpyxl.styles.colors import Color
import openpyxl
import pandas as pd
file_path = r"E:\DPI\深圳-南方电网\设备OTA升级_20241231.xlsx"
file_path_fail = r"E:\DPI\深圳-南方电网\设备OTA升级_20241231_FAILED_1.xlsx"
# 加载现有的xlsx文件
wb = load_workbook(file_path)
sheet = wb.active
# 创建一个新的工作簿
new_wb = openpyxl.Workbook()
new_sheet = new_wb.active
# 筛选出指定列(例如第二列)的某个十六进制填充色
# 这里我们使用'FFFF0000'作为示例,代表红色
fill_color_hex = "FFFF0000"
new_rows = []
for row in sheet.iter_rows(values_only=False):
if row[1].fill.start_color.index == fill_color_hex:
new_rows.append(row[1].value)
# print(row[1].value)
# 将列表转换为pandas DataFrame,升序
df = pd.DataFrame(sorted(new_rows))
# 将DataFrame写入Excel文件
df.to_excel(file_path_fail, index=False, header=False)
print("done")