Google Sheet API,字体颜色,一次更新多个范围
问题描述
我目前通过遍历范围来更新多个范围。现在我正试着用一个电话更新所有的范围。但我想不出第二个靶场该放在哪里。我认为这是可能的。我不知道。以下是我的代码。
from multicore import g
key = '1-I9CugmHB1Ds6n1jBy4Zo4hk_k4sQsTmOFfccxRc2qo'
robo_font_color = [0.6, 0.0, 0.3]
range1 = {'sheetId': 184514576, 'startRowIndex': 2, 'endRowIndex': 3, 'startColumnIndex': 6, 'endColumnIndex': 9}
range2 = {'sheetId': 184514576, 'startRowIndex': 0, 'endRowIndex': 3, 'startColumnIndex': 1, 'endColumnIndex': 2}
def font_color(key, color): # color is a 1x3 list
data = {"requests": [{
"repeatCell": {
"range": range1,
"cell": {
"userEnteredFormat": {
"textFormat": {
"foregroundColor": { # color of text
"red": color[0],
"green": color[1],
"blue": color[2]
},
}
}
},
"fields": "userEnteredFormat.textFormat.foregroundColor"
}
}]
}
g.service.spreadsheets().batchUpdate(spreadsheetId=key, body=data).execute()
font_color(key,robo_font_color)
我应该将range2
放在什么位置才能一次调用同时更新两个区域?
解决方案
此修改如何?
在您的情况下,使用[range1, range2]
创建请求如何?
修改后的脚本:
from multicore import g
key = '1-I9CugmHB1Ds6n1jBy4Zo4hk_k4sQsTmOFfccxRc2qo'
robo_font_color = [0.6, 0.0, 0.3]
range1 = {'sheetId': 184514576, 'startRowIndex': 2, 'endRowIndex': 3, 'startColumnIndex': 6, 'endColumnIndex': 9}
range2 = {'sheetId': 184514576, 'startRowIndex': 0, 'endRowIndex': 3, 'startColumnIndex': 1, 'endColumnIndex': 2}
def font_color(key, color, ranges): # color is a 1x3 list
data = {"requests": [{
"repeatCell": {
"range": r,
"cell": {
"userEnteredFormat": {
"textFormat": {
"foregroundColor": { # color of text
"red": color[0],
"green": color[1],
"blue": color[2]
},
}
}
},
"fields": "userEnteredFormat.textFormat.foregroundColor"
}
} for r in ranges]}
g.service.spreadsheets().batchUpdate(spreadsheetId=key, body=data).execute()
font_color(key,robo_font_color, [range1, range2])
引用:
- Method: spreadsheets.batchUpdate
- RepeatCellRequest
相关文章