Как объединить ячейки в листе Google с помощью библиотеки Pygsheets в Python

После того, как я экспортировал данные из фрейма данных в таблицу Google, это выглядело так:

Снимок экрана из googlesheet

Я хотел бы объединить повторяющиеся столбцы и получить такой результат:

введите описание изображения здесь

Это часть кода, которая отвечает за объединение ячеек:

df1 = wks.get_as_df()

df1 = df1.apply(pd.to_numeric, errors='ignore')

df2 = pd.pivot_table(df1[df1.SSPU == 'K01'],index=['SSPU','Color'], 
columns = ["Size"],values=['USFBA',"近30天销量(US)",'US 
Turnover'],fill_value=0, aggfunc=sum)
gc=
pygsheets.authorize(service_file='/Users/dongan/PycharmProjects
/PyProjects/AntonGS.json')

sh = gc.open('BU2_EOL库存处理PY')

wks1 = sh[2]

wks1.set_dataframe(df2,(3,3),copy_index=True)

wks1.merge_cells(start='E3', end='J3', merge_type='MERGE_ALL', sheet=[2])

Но не работает. Возвращает ошибку:

AttributeError: объект 'Worksheet' не имеет атрибута 'merge_cells'

(согласно справочнику pygsheets он должен быть)


person Antonych    schedule 06.06.2020    source источник


Ответы (2)


В таблицах merge_cells указывается под DataRange. поэтому сначала получите диапазон, который вы хотите объединить, как Datarange. вы можете использовать

rng = wks.get_values('A1', 'A5',returnas='range')
rng.merge_cells()

PS. код не протестирован, поэтому следите за незначительными синтаксическими ошибками.

person Nithin    schedule 09.06.2020

Проверьте версию вашего модуля pygsheet. Функция merge_cells () была представлена ​​в версии 2.0.4 (как для классов DataRange, так и для классов Worksheet).

person Małgorzata    schedule 19.01.2021