第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從現有的 Google 電子表格中獲取響應、追加行和更新

從現有的 Google 電子表格中獲取響應、追加行和更新

臨摹微笑 2022-06-07 19:24:32
我可以連接到 Google 電子表格并添加新行(列表中的實際值),如下所示,它可以工作:import gspreadfrom oauth2client.service_account import ServiceAccountCredentialsfrom pprint import pprintfrom googleapiclient import discoveryscope = ['https://spreadsheets.google.com/feeds',    'https://www.googleapis.com/auth/drive',    'https://www.googleapis.com/auth/spreadsheets.currentonly',    'https://www.googleapis.com/auth/spreadsheets']credentials = ServiceAccountCredentials.from_json_keyfile_name('credentials.json', scope)gc = gspread.authorize(credentials)service = discovery.build('sheets', 'v4', credentials=credentials)#Name of SpreadsheetSheet_Title = "New Spreadsheet Final"# The ID of the spreadsheet spreadsheet_id = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'  # TODO: Update placeholder value.#Get sheet ID#Open the wanted Tabsheet = gc.open(Sheet_Title).worksheet("Tab One")  #Get the wanted range of the sheetrange_name = 'A1:W1000'  # TODO: Update placeholder value.#Add new rows in the Sheet. Values are hardcoded belowvalues = [    ['09/01/2021', 'IT', '8%'],    ['08/02/2021', 'NL', '1%']    # Additional rows ...]body = {    'values': values}#Append the rows in the Google Spreadsheetresult = service.spreadsheets().values().append(    spreadsheetId=spreadsheet_id, range=range_name,    valueInputOption='USER_ENTERED', body=body).execute()我現在要做的是添加新行,但為每個單元格(或通常特定的列)添加數據驗證。所以,我下去檢查了響應。然后我附加了一個新的行值,其中包括格式和數據驗證:#Values to be added in the original queryvalue_to_be_added = [              {                "formattedValue": "05/05/2019",                "userEnteredFormat": {                  "numberFormat": {                    "type": "DATE",                    "pattern": "dd/mm/yyyy"                  }                },                "dataValidation": {                  "condition": {                    "type": "DATE_IS_VALID"                  },                  "strict": "True"                }              },有沒有辦法用更新的響應完全更新/替換原始響應?
查看完整描述

2 回答

?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

  • 您想將一行追加到電子表格最后一行的下一行。

    • 您想附加一行,如日期值dd/mm/yyyy、數據驗證、0%格式數和數字。

    • 您想將 的值05/05/2019, UK, 8%, 9作為顯示值。

  • 您想使用 gspread 和 python 來實現這一點。

  • 您已經能夠使用 Sheets API 獲取和放置電子表格的值。

如果我的理解是正確的,那么這個示例腳本怎么樣?在這個示例腳本中,我使用了batch_updategspread 的方法。gspread 的方法batch_upate是 Sheets API 的電子表格.batchUpdate 方法。該行由 appendCells 請求附加。

示例腳本:

示例腳本如下。在運行腳本之前,請設置電子表格 ID 和工作表名稱。在此腳本中,Tab One用作工作表名稱。

gc = gspread.authorize(credentials)

spreadsheet_id = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

sheetName = "Tab One"

spreadsheet = gc.open_by_key(spreadsheet_id)

sheetId = spreadsheet.worksheet(sheetName)._properties['sheetId']

body = {'requests':

        [

            {

                'appendCells':

                {

                    'rows':

                    [

                        {

                            'values':

                            [

                                {

                                    'userEnteredFormat':

                                    {

                                        'numberFormat':

                                        {

                                            'type': 'DATE',

                                            'pattern': 'dd/mm/yyyy'

                                        }

                                    },

                                    'dataValidation':

                                    {

                                        'condition':

                                        {

                                            'type': 'DATE_IS_VALID'

                                        },

                                        'strict': True

                                    },

                                    'userEnteredValue':

                                    {

                                        'numberValue': 43590  # This is the serial number of "05/05/2019".

                                    }

                                },

                                {

                                    'userEnteredFormat':

                                    {

                                        'numberFormat':

                                        {

                                            'type': 'NUMBER',

                                            'pattern': '#,##0.00'

                                        },

                                        'verticalAlignment': 'BOTTOM'

                                    },

                                    'dataValidation':

                                    {

                                        'condition':

                                        {

                                            'type': 'ONE_OF_LIST',

                                            'values':

                                            [

                                                {

                                                    'userEnteredValue': 'UK'

                                                },

                                                {

                                                    'userEnteredValue': 'ES'

                                                },

                                                {

                                                    'userEnteredValue': 'IT'

                                                },

                                                {

                                                    'userEnteredValue': 'DE'

                                                },

                                                {

                                                    'userEnteredValue': 'AT'

                                                },

                                                {

                                                    'userEnteredValue': 'NL'

                                                }

                                            ]

                                        },

                                        'showCustomUi': True

                                    },

                                    'userEnteredValue':

                                    {

                                        'stringValue': 'UK'

                                    }

                                },

                                {

                                    'userEnteredFormat':

                                    {

                                        'numberFormat':

                                        {

                                            'type': 'PERCENT',

                                            'pattern': '0%'

                                        }

                                    },

                                    'userEnteredValue':

                                    {

                                        'numberValue': 0.08

                                    }

                                },

                                {

                                    'userEnteredValue':

                                    {

                                        'numberValue': 9

                                    }

                                }

                            ]

                        }

                    ],

                    'sheetId': sheetId,

                    'fields': '*'

                }

            }

        ]

        }

res = spreadsheet.batch_update(body)

print(res)

筆記:

當05/05/2019作為格式的日期輸入時dd/mm/yyyy,請輸入編號為43590序號。

添加:

當你想在for循環(huán)中使用請求體時,下面的腳本怎么樣?batchUpdate 方法可以與數組一起使用。


gc = gspread.authorize(credentials)

spreadsheet_id = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

sheetName = "Tab One"

spreadsheet = gc.open_by_key(spreadsheet_id)

sheetId = spreadsheet.worksheet(sheetName)._properties['sheetId']

requests = []

for x in range(len(new_values)):  # Please set "new_values".

    body =                 {

                    'appendCells':

                    {

                        'rows':

                        [

                            {

                                'values':

                                [

                                    {

                                        'userEnteredFormat':

                                        {

                                            'numberFormat':

                                            {

                                                'type': 'DATE',

                                                'pattern': 'dd/mm/yyyy'

                                            }

                                        },

                                        'dataValidation':

                                        {

                                            'condition':

                                            {

                                                'type': 'DATE_IS_VALID'

                                            },

                                            'strict': True

                                        },

                                        'userEnteredValue':

                                        {

                                            'numberValue': new_values[x][0]

                                        }

                                    },

                                    {

                                        'userEnteredFormat':

                                        {

                                            'numberFormat':

                                            {

                                                'type': 'NUMBER',

                                                'pattern': '#,##0.00'

                                            },

                                            'verticalAlignment': 'BOTTOM'

                                        },

                                        'dataValidation':

                                        {

                                            'condition':

                                            {

                                                'type': 'ONE_OF_LIST',

                                                'values':

                                                [

                                                    {

                                                        'userEnteredValue': 'UK'

                                                    },

                                                    {

                                                        'userEnteredValue': 'ES'

                                                    },

                                                    {

                                                        'userEnteredValue': 'IT'

                                                    },

                                                    {

                                                        'userEnteredValue': 'DE'

                                                    },

                                                    {

                                                        'userEnteredValue': 'AT'

                                                    },

                                                    {

                                                        'userEnteredValue': 'NL'

                                                    }

                                                ]

                                            },

                                            'showCustomUi': True

                                        },

                                        'userEnteredValue':

                                        {

                                            'stringValue': new_values[x][1]

                                        }

                                    },

                                    {

                                        'userEnteredFormat':

                                        {

                                            'numberFormat':

                                            {

                                                'type': 'PERCENT',

                                                'pattern': '0%'

                                            }

                                        },

                                        'userEnteredValue':

                                        {

                                            'numberValue': new_values[x][2]

                                        }

                                    },

                                    {

                                        'userEnteredValue':

                                        {

                                            'numberValue': new_values[x][2]

                                        }

                                    }

                                ]

                            }

                        ],

                        'sheetId': sheetId,

                        'fields': '*'

                    }

                }

    requests.append(body)


res = spreadsheet.batch_update({'requests':requests})

print(res)



查看完整回答
反對 回復 2022-06-07
?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

我的版本基于 Tanaike 的回答:


#List of rows with values

new_values = [[43590,'UK',0.08,9],[43590,'DE',0.07,8]]


#connect to the google sheet and tab

sheetName = "Tab One"

spreadsheet = gc.open_by_key(spreadsheet_id)

sheetId = spreadsheet.worksheet(sheetName)._properties['sheetId']


#Add each value/row

for x in range(len(new_values)):

    #print(new_values[x])

    body = {'requests':

            [

                {

                    'appendCells':

                    {

                        'rows':

                        [

                            {

                                'values':

                                [

                                    {

                                        'userEnteredFormat':

                                        {

                                            'numberFormat':

                                            {

                                                'type': 'DATE',

                                                'pattern': 'dd/mm/yyyy'

                                            }

                                        },

                                        'dataValidation':

                                        {

                                            'condition':

                                            {

                                                'type': 'DATE_IS_VALID'

                                            },

                                            'strict': True

                                        },

                                        'userEnteredValue':

                                        {

                                            'numberValue': new_values[x][0]  # This is the serial number of "05/05/2019".

                                        }

                                    },

                                    {

                                        'userEnteredFormat':

                                        {

                                            'numberFormat':

                                            {

                                                'type': 'NUMBER',

                                                'pattern': '#,##0.00'

                                            },

                                            'verticalAlignment': 'BOTTOM'

                                        },

                                        'dataValidation':

                                        {

                                            'condition':

                                            {

                                                'type': 'ONE_OF_LIST',

                                                'values':

                                                [

                                                    {

                                                        'userEnteredValue': 'UK'

                                                    },

                                                    {

                                                        'userEnteredValue': 'ES'

                                                    },

                                                    {

                                                        'userEnteredValue': 'IT'

                                                    },

                                                    {

                                                        'userEnteredValue': 'DE'

                                                    },

                                                    {

                                                        'userEnteredValue': 'AT'

                                                    },

                                                    {

                                                        'userEnteredValue': 'NL'

                                                    }

                                                ]

                                            },

                                            'showCustomUi': True

                                        },

                                        'userEnteredValue':

                                        {

                                            'stringValue': new_values[x][1]

                                        }

                                    },

                                    {

                                        'userEnteredFormat':

                                        {

                                            'numberFormat':

                                            {

                                                'type': 'PERCENT',

                                                'pattern': '0%'

                                            }

                                        },

                                        'userEnteredValue':

                                        {

                                            'numberValue': new_values[x][2]

                                        }

                                    },

                                    {

                                        'userEnteredValue':

                                        {

                                            'numberValue': new_values[x][3]

                                        }

                                    }

                                ]

                            }


                        ],

                        'sheetId': sheetId,

                        'fields': '*'

                    }

                }

            ]

            }

    res = spreadsheet.batch_update(body)

身體在每個循環(huán)中都被拉動。如果您認為這不是最好的方法(循環(huán)身體),您可以評論任何替代方案。有一個循環(huán)并將values數組附加到 body 對象中可能更容易。


查看完整回答
反對 回復 2022-06-07
  • 2 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號