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

Arturkuchynski

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

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

电子表格B[Sheet1()] [Sheet2(数据)] [Sheet3(数据)] ...

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如下所示:在此处输入图片说明

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

阿尔贝托·维尔玛

由于使用以下方法,该图表被复制为空:电子表格.sheets.copyTo端点仅将一个工作表复制到另一电子表格,因此,如果一个图表是使用另一工作表中的数据构建的,则它将丢失。

作为一种解决方法,您可以使用原始图表的属性来编辑空图表的属性,这样一来,它就可以像您期望的那样直接复制。

您将需要使用方法:sheetsheets.batchUpdate端点。在Python中,您的请求将如下所示:

body = {
    'requests': requests
}
response = service.spreadsheets().batchUpdate(
    spreadsheetId=spreadsheet_id,
    body=body).execute()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google Sheets Java API写入工作表

来自分类Dev

使用 Google Sheets API 写入工作表

来自分类Dev

适用于印度的Google Map API

来自分类Dev

适用于Android 5.0的Google API

来自分类Dev

适用于onhub的Google API

来自分类Dev

适用于Android的Google Fit API

来自分类Dev

适用于Android 5.0的Google API

来自分类Dev

适用于任务的Google日历API

来自分类Dev

适用于Python的函数超时API

来自分类Dev

适用于Python的Wikimapia API(PyMapia)

来自分类Dev

Google Sheets API

来自分类Dev

适用于Google日历和电子表格的Python API

来自分类Dev

windows API 不适用于 python3,但适用于 python 2

来自分类Dev

Google图表-interpolateNulls选项不适用于AnnotationChart

来自分类Dev

使用适用于Python的Google API客户端库连接到Google Analytics(分析)时,发生SSLHandshakeError

来自分类Dev

googlemaps api适用于python终端,但不适用于脚本

来自分类Dev

Google Sheets v4 API:克隆工作表时出现异常 503

来自分类Dev

适用于Android的google +(获取空指针)

来自分类Dev

空的XmlHttp响应文本(仅适用于Google Chrome)

来自分类Dev

适用于其他API的Google API密钥(Android)

来自分类Dev

适用于MVC C#类的Google API密钥

来自分类Dev

适用于Android和iOS的Google频道API

来自分类Dev

Google Maps API RadarSearch不适用于伦敦

来自分类Dev

适用于我的网站的Google自动填充API

来自分类Dev

延迟属性不适用于Google Maps API?

来自分类Dev

适用于Android应用的Google Places API密钥

来自分类Dev

适用于iOS的Google Calendar API返回BirthDays吗?

来自分类Dev

适用于Google+照片的Android API

来自分类Dev

适用于我的网站的Google自动填充API

Related 相关文章

热门标签

归档