更改其中带有特定单词的单元格的背景颜色

时间:2019-07-03 13:13:39

标签: python excel pandas numpy datatable

我有一个大数据表,我想将所有带有“销毁”的单元格标记为红色。我设法使用下面的代码来做到这一点,但是它花了很多时间,并且我想在上面使用的文件更大。 “ destroyed”一词仅出现在一列中,所以我可以只搜索一列还是有另一种方法来使其更快?我刚刚创建了一个表,该表的大小与我的文件类似。

import pandas as pd
import numpy as np
import os

cwd = os.getcwd()

np.random.seed(24)
df = pd.DataFrame({'A': np.linspace(1, 10, 10)})
df = pd.concat([df, pd.DataFrame(np.random.randn(21000, 4), columns=list('FCDE'))],
               axis=1)
df.iloc[0, 2] = "destroyed"
df.iloc[1, 2] = "destroyed"
df.iloc[2, 2] = "running"
df.iloc[3, 2] = "destroyed"
df.iloc[4, 2] = "destroyed"
df.iloc[5, 2] = "running"
df.iloc[6, 2] = "destroyed"
df.iloc[7, 2] = "running"
df.iloc[8, 2] = "Verschrottet"
df.iloc[9, 2] = "running"

创建示例表。

def color_negative_red(val):
    color = 'red' if val == "destroyed" else 'white'
    return 'background-color: %s' % color

s = df.style.applymap(color_negative_red)

dat = "C:\User"
os.chdir(dat)
name = ('%s_Datenbank.xlsx' %("today"))

s.to_excel(name)

创建带有标记单元格的excel文件。 之后应该像这样。Table

0 个答案:

没有答案