嗨,我进行了层次结构比较并观察变化,然后在 python excel 中用颜色编码突出显示。例如下面是我的数据集
我正在寻找输出
下面是我的数据集,我正在使用 pandas,来自 openpyxl import Workbook, 从 openpyxl.styles 导入 PatternFill 包,但数据未排序,并且我的输出 excel 中缺少几列。
current_data_str = """L1,L2,L3
manager1,e1,e5
manager1,e1,e5
manager2,e2,e6
manager2,e2,e7
manager3,e3,e8
manager3,e4,e9
manager3,e4,e10"""
previous_data_str = """L1,L2,L3
manager1,e1,e5
manager1,e1,e5
e6,e13,
e6,e14,
e8,e15,
e9,e16,
e17,,"""
对于 pandas,这是
compare
的一个很好的用例:
# to be replaced with any equivalent
curr = pd.read_csv(StringIO(current_data_str))
prev = pd.read_csv(StringIO(previous_data_str))
cmp = (curr.compare(prev, keep_shape=True, keep_equal=True,
result_names=("previous", "current"))
.pipe(lambda x: x.set_axis(x.columns.map(
lambda c: "{}_{}".format(*c)), axis=1)))
s = (cmp.style.apply(lambda s: np.where(
~cmp.notna().all(axis=1), "background-color: yellow", ""))
.format(na_rep=""))
输出: