适用于Python的Google Sheets API:复制工作表时为空图表

问题描述 投票:1回答:1

假设我有两个结构几乎相同的电子表格:

电子表格A[Sheet1(图表和数据摘要)] [Sheet2(数据)] [Sheet3(数据)] ...

电子表格B[Sheet1(Empty)] [Sheet2(Data)] [Sheet3(Data)] ...

[A.Sheet1包含手动创建的图表以及来自A.Sheet2和A.Sheet3的汇总数据。

电子表格B具有与电子表格A中相同的工作表顺序和工作表名称。任务是将Sheet1从A复制到B,以便所有图表和公式都应映射到相同名称的B的相应工作表中的数据。] >

所以我正在使用以下代码将整个Sheet1从A复制到B:

def duplicate_worksheet(from_spreadsheet_id,
                        sheet_id,
                        to_spreadsheet_id,
                        credentials,
                        title=None):

    service = discovery.build('sheets', 'v4', credentials=credentials)

    copy_sheet_to_another_spreadsheet_request_body = {
        'destination_spreadsheet_id': to_spreadsheet_id
    }
    request = service.spreadsheets().sheets().copyTo(spreadsheetId=from_spreadsheet_id,
                                                     sheetId=sheet_id,
                                                     body=copy_sheet_to_another_spreadsheet_request_body)

    response = request.execute()
    if title:
        new_sheet_id = response['sheetId']
        new_title = title
        rename_worksheet(to_spreadsheet_id, new_sheet_id, new_title, credentials)

复制后,B.Sheet1

如下所示:enter image description here

在这里,我们可以看到聚合表已成功复制,但是2个图表为空(相反,显示了No data消息])。电子表格本身缺少所有指定的图表数据范围和链接,这些数据应该从A复制后仍然存在。所以我的问题是如何“深复制”工作表并保留所有图表数据和链接? (当然,如果可以使用Google API的话)

假设我有两个结构几乎相同的电子表格:Spreadsheet A:[Sheet1(图表和数据摘要)] [Sheet2(数据)] [Sheet3(数据)] ... Spreadsheet B:[Sheet1(Empty)] [ Sheet2(数据)] [Sheet3(...

python api google-sheets google-sheets-api worksheet
1个回答
1
投票

图表被复制为空,由于Method: spreadsheets.sheets.copyTo端点仅将一张纸

© www.soinside.com 2019 - 2024. All rights reserved.