如何根据python中单元格的颜色过滤Excel数据?

时间:2019-11-11 10:15:35

标签: python excel pandas styleframe

我有一个包含许多列的Excel文件。必须根据单元格特定列的颜色来分离数据。

enter image description here

例如,在上图中,应根据列A1 / A2的颜色在单个文件中提取最后3行。同样,可以根据B1 / B2中单元格的颜色在其他文件中提取前四行。

有没有比以下代码更好的解决方案/不使用熊猫?

import numpy as np
import pandas as pd
from StyleFrame import StyleFrame, utils
sf = StyleFrame.read_excel('sample_name.xlsx', read_style=True, use_openpyxl_styles=False)

def only_cells_with_red_text(cell):
    return cell if cell.style.font_color in {utils.colors.red, 'FFFF0000'} else np.nan
sf_1 = sf[['A1']]
sf_2 = StyleFrame(sf_1.applymap(only_cells_with_red_text).dropna(axis=(0, 1), how='all'))

df=pd.DataFrame(sf.data_df)
df_2=df.iloc[sf_2.index]
print(df_2)

0 个答案:

没有答案