在谷歌表格中,我試圖找到一個類似“find”的字串并突出顯示該字串。請看下文。
cell_list = worksheet.findall("查找")
uj5u.com熱心網友回復:
我相信你的目標如下。
- 您想使用
findall. - 您想要更改搜索單元格的字體顏色。
- 您想使用 gspread for python 來實作這一點。
在這種情況下,下面的示例腳本怎么樣?
示例腳本:
client = gspread.authorize(credentials) # Please use your authorization script.
spreadsheetId = "###" # Please set the Spreadsheet ID.
sheetName = "Sheet1" # Please set the sheet name you want to search.
search_text = "find" # Please set the search text.
color = {"red": 1, "green": 0, "blue": 0} # Please set the color. In this sample, the red color is used.
spreadsheet = client.open_by_key(spreadsheetId)
worksheet = spreadsheet.worksheet(sheetName)
cell_list = worksheet.findall(search_text)
if cell_list != []:
sheet_id = worksheet.id
reqs = []
for e in cell_list:
reqs.append({
"updateCells": {
"range": {
"sheetId": sheet_id,
"startRowIndex": e._row - 1,
"endRowIndex": e._row,
"startColumnIndex": e._col - 1,
"endColumnIndex": e._col
},
"rows": [
{
"values": [
{
"userEnteredFormat": {
"textFormat": {
"foregroundColor": color
}
}
}
]
},
],
"fields": "userEnteredFormat.textFormat.foregroundColor"
}
})
res = spreadsheet.batch_update({"requests": reqs})
- 運行此腳本時,
search_text將從作業表中搜索 的值。并且,搜索到的單元格的字體顏色會發生變化。
參考:
- 更新細胞請求
uj5u.com熱心網友回復:
最新版本的gspread具有用于形成單元的專用方法。無需撰寫您自己的請求。它還具有將單元格索引轉換為 A1 表示法的方法。你可以簡單地做:
range = rowcol_to_a1?(?e.row, ?e.col):
worksheet.format(range, {"foregroundColor": color})
查看檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/438822.html
標籤:Python 谷歌表格 谷歌表格 API gspread
上一篇:'requests[0].update_cells.range'中的值無效(type.googleapis.com/google.apps.sheets.v4.GridRange)
