burnash / burnash/gspread

`combine_merged_cells` cannot capture all merges

Open
#1,334 4 comments 0 reactions 0 assignees View on GitHub
Need investigation
Dominant language
Python
Stars
7.5k
Forks
979
PR merge metrics
No merged PRs in 30d

Description

Merges are actually just one value in the top left cell, and some metadata. If the top-left cell is not in your requested range, you cannot faithfully recreate the merge. For example:

![image](https://github.com/burnash/gspread/assets/13833017/228c8a89-462f-4072-b989-9e41ba133172)

If you called `worksheet.get_values("F3:H4", combine_merged_cells=True)`, what would you expect?

1

| "big merge" | 2 | 3 |
| --- | --- | --- |
| 4 | 5 | 6 |

or 2

| | 2 | 3 |
| --- | --- | --- |
| 4 | 5 | 6 |

We cannot recreate 1 without added complexity. We must return 2. This may be unexpected.

`combine_merged_cells` was added in #1215. Its addition has brought several problems (#1298, #1330).

What should we do? If we leave it in, it will always have this issue. If we remove it, it will be sad.

Contributor guide

Open the contributing guide

Research direction

Start by reading the combine_merged_cells addition in #1215, then review the related reports in #1298 and #1330 alongside this issue. Determine whether the option should remain or be removed, and define the expected behavior for ranges whose top-left merged cell is outside the request. Done requires a maintainer-approved resolution.

Written by the indexing model from the issue text.

Assessment

Tech stack
google-cloud, python
Domain
api
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.