измените имя листа на значение дублированного столбца - PullRequest
0 голосов
/ 13 ноября 2018

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

Например:

A  B   C  D
1  X1  5  ftr
2  X1  3  nbg
3  X1  2  nhg
4  X1  3  ght
5  X1  2  fgt

Я преобразовал несколько фреймов данных в Excel, используя ответ ниже: Список нескольких фреймов данных для отдельных листов Excel .
Я хочу заменить имя листа значением столбца «B» (X1).
Я хочу удалить листы, если значения столбца «B» пусты. Я хотел бы знать, есть ли какие-либо возможности.
Рад слышать некоторые предложения.

1 Ответ

0 голосов
/ 13 ноября 2018

Сначала найдите дубликат столбца и сохраните его значение по коду:

df1= pd.DataFrame({'A': [1,1,1,1,1],
                  'C': np.random.randn(5)})

nunique = df1.apply(pd.Series.nunique)
value_col = nunique[nunique == 1] ## Value_col will have "1". In your case it will be "X1"

Теперь импортируйте openpyxl, чтобы переименовать лист

import openpyxl
file_name=openpyxl.load_workbook("sample.xlsx")
sheet_name = file_name.get_sheet_by_name('Sheet')
if len(value_col) == 1:
    sheet_name.title = value_col[0]

else:
    file_name.remove_sheet(sheet_name)

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