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

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

無法在 Python 中將范圍插入到 Google 表格中

無法在 Python 中將范圍插入到 Google 表格中

動漫人物 2021-11-09 10:59:47
我有帶數(shù)據(jù)的數(shù)組,table_data = [["11"],["22"]],[["33"],["44"]] 我想使用 sheet.values().update 將此數(shù)據(jù)插入到 Google 表格中,但是使用 GridRange,沒有命名范圍,我可以解決這個問題:service = build('sheets', 'v4', credentials=creds())    sheet = service.spreadsheets()    body = {'values': values}    SAMPLE_RANGE_NAME_2 = 'costs!A1:B2'    value_input_option = 'RAW'    result = sheet.values().update(        spreadsheetId=SAMPLE_SPREADSHEET_ID, range=SAMPLE_RANGE_NAME_2, valueInputOption=value_input_option, body=body).execute()但它不方便使用范圍 A1:B2。我想用這樣的東西'startColumnIndex': 0,'endColumnIndex': 1,'startRowIndex': 0,'endRowIndex': 1我嘗試為此使用batchUpdate,但它只能接受字符串參數(shù)spreadsheet_id = SPREADSHEET_ID  # TODO: Update placeholder value.batch_update_spreadsheet_request_body = {        "requests": [            {                "pasteData": {                    "data": str(table_data),                    "type": "PASTE_NORMAL",                    "delimiter": ",",                    "coordinate": {                        "sheetId": 0,                        "rowIndex": 0,                        "columnIndex": 0                    }                }            }        ]    }request = service.spreadsheets().batchUpdate(spreadsheetId=spreadsheet_id, body=batch_update_spreadsheet_request_body)response = request.execute()
查看完整描述

1 回答

?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗 獲得超8個贊

  • 您想使用 GridRange 放置值。

  • 您想table_data = [["11"],["22"]],[["33"],["44"]]用作值。

    • 我認(rèn)為如果你想把值放在 2 行和 2 列,它變成table_data = [["11", "22"], ["33", "44"]]. 所以我用了這個。

    • 如果要將11、22、33和44分別放入A1、B1、A2和B2,就變成了table_data = [["11", "22"], ["33", "44"]]。

    • 如果要將11、22、33和44分別放入A1、A2、B1和B2,就變成了table_data = [["11", "33"], ["22", "44"]]。

如果我的理解是正確的,那么使用batchUpdate的“updateCells”而不是“pasteData”的方法怎么樣?我認(rèn)為針對您的情況有幾種解決方案。因此,請將此視為其中之一。

修改后的腳本:

spreadsheet_id = SPREADSHEET_ID

sheetId = 0

table_data = [["11", "33"], ["22", "44"]]  # or table_data = [["11", "22"], ["33", "44"]]

rows = [{'values': [{'userEnteredValue': {'stringValue': f}} for f in e]} for e in table_data]

rng = {'sheetId': sheetId, 'startRowIndex': 0, 'startColumnIndex': 0}

fields = 'userEnteredValue'

body = {'requests': [{'updateCells': {'rows': rows, 'range': rng, 'fields': fields}}]}

request = service.spreadsheets().batchUpdate(spreadsheetId=spreadsheet_id, body=body)

response = request.execute()

  • 將值放入 后A1:B2,您可以設(shè)置左上角單元格的坐標(biāo)。所以在這種情況下,GridRange 變成{'sheetId': sheetId, 'startRowIndex': 0, 'startColumnIndex': 0}

筆記:

  • 如果要使用table_data = [["11"], ["22"]], [["33"], ["44"]],請修改rowsrows = [{'values': [{'userEnteredValue': {'stringValue': f[0]}} for f in e]} for e in table_data]


查看完整回答
反對 回復(fù) 2021-11-09
  • 1 回答
  • 0 關(guān)注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號