这是我第一次使用Google Sheets API。因此,我正在尝试加粗Google工作表的第一行。但是在执行此操作时出现错误''Worksheet'对象没有属性'spreadsheets'。我已经在下面提到了代码。请指出我在做什么错。
import gspread
from oauth2client.service_account import ServiceAccountCredentials
from pprint import pprint
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/spreadsheets",
"https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name("credentials.json",scope)
client = gspread.authorize(creds)
sheet = client.open("SheetsAPI Practice").sheet1
req = { "repeatCell": {
"range": {
"sheetId": 0,
"startRowIndex": 0,
"endRowIndex": 1
},
"cell": {
"userEnteredFormat": {
"textFormat": {
"bold": True
}
}
},
"fields": "userEnteredFormat.textFormat.bold"
}
}
sheet.spreadsheets().batchUpdate(spreadsheetId=sheet.id,body=req).execute()
此行发生错误-
sheet.spreadsheets()。batchUpdate(spreadsheetId = sheet.id,body = req).execute()
如果我的理解正确,那么这个答案如何?请认为这只是几个可能的答案之一。
spreadsheets()
中没有client.open("SheetsAPI Practice").sheet1
的方法。在您的脚本中,您尝试将gspread与python的googleapis方法结合使用。错误消息的原因是这样。client = gspread.authorize(creds)
可以用于您要使用的Google电子表格时,您可以使用它。req
时,请放入{"requests": [req]}
之类的数组。当以上几点反映到您的脚本时,它将变成如下。
sheet = client.open("SheetsAPI Practice").sheet1
req = { "repeatCell": {
"range": {
"sheetId": 0,
"startRowIndex": 0,
"endRowIndex": 1
},
"cell": {
"userEnteredFormat": {
"textFormat": {
"bold": True
}
}
},
"fields": "userEnteredFormat.textFormat.bold"
}
}
sheet.spreadsheets().batchUpdate(spreadsheetId=sheet.id,body=req).execute()
至:spreadsheet = client.open("SheetsAPI Practice")
req = {
"requests": [
{
"repeatCell": {
"range": {
"sheetId": 0,
"startRowIndex": 0,
"endRowIndex": 1
},
"cell": {
"userEnteredFormat": {
"textFormat": {
"bold": True
}
}
},
"fields": "userEnteredFormat.textFormat.bold"
}
}
]
}
spreadsheet.batch_update(req)
如果我误解了你的问题,而这不是你想要的方向,我深表歉意。