【发布时间】:2019-01-19 02:10:45
【问题描述】:
我有一个要写入 excel 的 pandas 数据框 (Pre_Final_DataFrame)。
如果对应的行在任何以“结果_”开头的列上有“不匹配”字样,我需要在 Excel 中突出显示该行。
所以,我决定使用一个数组来了解需要突出显示的数组。
但是现在,我更喜欢一种使用函数来突出显示的方法,因为它太慢了。 请帮我解决这个问题。
简而言之,我正在使用 Pandas 编写一个数据框来 excel,它有数百万条记录,我希望只有当任何一个列中存在 No Match 值时,才会以“黄色”突出显示一行以“Result_”开头的名称
Excel 中出现的预期结果如下所示,
以数据框开头的输入代码:-
import pandas as pd
data = {
'ColA':[1, 1],
'ColB':[1, 1],
'Result_1':['Match', 'Match'],
'ColA1':[1, 2],
'ColB1':[1, 1],
'Result_2':['No Match', 'Match'],
}
Pre_Final_DataFrame = pd.DataFrame(data)
ResultColumns_df = Pre_Final_DataFrame.filter(like='Result_')
ResultColumns_df_false =ResultColumns_df[ResultColumns_df.values == "No Match"]
RequiredRows_Highlight = ResultColumns_df_false.index.tolist()
writer = pd.ExcelWriter(OutputName,date_format='%YYYY-%mm-%dd',datetime_format='%YYYY-%mm-%dd')
Pre_Final_DataFrame.to_excel(writer,'Sheet1',index = False)
writer.save()
预期输出:
【问题讨论】: