GSpread单元格合并

5

我正在尝试使用Python中的Gspread来合并Gsheets中的单元格,但是我找不到任何文档。

我已经使用了gspread_formatting模块来格式化单元格的文本和颜色,但是我找不到任何有关单元格合并的内容。

由于没有找到任何示例代码,因此我还没有编写任何代码。

我希望能够根据范围合并单元格。

请问有人可以帮助我吗?

谢谢。

2个回答

7
  • 您想知道如何使用 gspread 合并 Google 电子表格的单元格。
  • 您已经能够使用 gspread 将值放入和从电子表格中获取值。

如果我的理解正确,那么这个答案怎么样?在这个修改中,使用了 batch_update() 方法。

示例脚本:

请设置 spreadsheetIdsheetNamerange 的网格范围。

spreadsheetId = "###"
sheetName = "Sheet1"

client = gspread.authorize(credentials)
ss = client.open_by_key(spreadsheetId)
sheetId = ss.worksheet(sheetName)._properties['sheetId']
body = {
    "requests": [
        {
            "mergeCells": {
                "mergeType": "MERGE_ALL",
                "range": {  # In this sample script, all cells of "A1:C3" of "Sheet1" are merged.
                    "sheetId": sheetId,
                    "startRowIndex": 0,
                    "endRowIndex": 3,
                    "startColumnIndex": 0,
                    "endColumnIndex": 3
                }
            }
        }
    ]
}
res = ss.batch_update(body)

注意:

  • 请将范围设置为gridrange。
  • 在此示例脚本中,"Sheet1"的"A1:C3"的所有单元格都合并了。
  • MERGE_ALL更改为MERGE_ROWS时,"A1:C1"、"A2:C2"和"A3:C3"的行将合并。
  • MERGE_ALL更改为MERGE_COLUMNS时,"A1:A3"、"B1:B3"和"C1:C3"的列将合并。

参考文献:

如果这对您的情况没有帮助,我很抱歉。


运行得非常完美!我将制作一个函数来简化这个过程。非常感谢你的帮助:D - Dylan Logan
@Dylan Logan 欢迎。很高兴你的问题得到了解决。 - Tanaike

0

Gspread现在提供了合并单元格的文档在这个页面上

如果您的工作表名称是my_ws,您希望合并A1到A5的单元格,您可以输入以下内容:

my_ws.merge_cells(A1:A5, merge_type='MERGE_ALL')


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接