Добавление стиля к столбцам, которые написаны индивидуально в таблицу Excel - PullRequest
1 голос
/ 05 марта 2019

Я пытаюсь стилизовать, а затем записать отдельные столбцы в существующую таблицу Excel. Однако я продолжаю получать сообщение об ошибке.

def color_green(val):
color = 'green' if val != 'CHECK' else 'black'
return 'color: %s' % color

#apply color
df['Name'] = df['Name'].style.applymap(color_green)

#write col to excel
df['Name'].to_excel(writer, sheet_name = 'sheet1', startrow = 12, startcol = 2, index=False, header=False )

Ошибка, которую я получаю:

'Series' object has no attribute 'style'

У меня есть несколько разных столбцов, которые должны быть стилизованы и написаны одинаково.

1 Ответ

1 голос
/ 11 марта 2019

Я думаю, что вы можете попробовать использовать двойные скобки [[]], чтобы вызвать это в кадре данных, или использовать параметр subset в applymap(), как показано ниже :

df[['Name']].style.applymap(color_green).to_excel(path,index=False)

Другой способ будет:

df.style.applymap(color_green, subset=pd.IndexSlice[:, ['Name']])

это приводит к полному фрейму данных, оформленному в виде списка определенных столбцов.

Для лучшего понимания, пример ниже:

Демо-версия:

Давайте рассмотрим следующее df:

   Name  some_col
0    abc         1
1  CHECK         1
2   defg         2
3  CHECK         3
4    efg         3
5    ijk         3
6    lmn         1
7    opq         7

def color_green(val):
    color = 'green' if val != 'CHECK' else 'black'
    return 'color: %s' % color
df[['Name']].style.applymap(color_green)

это выводит

enter image description here

второй метод:

df.style.applymap(color_green, subset=pd.IndexSlice[:, ['Name']])

это выводит:

enter image description here

Вы можете экспортировать это в Excel.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...