我正在尝试按照链接中给出的说明将 pandas 数据框上传到 Google 表格。
我创建了项目,启用了 API,创建了服务帐户凭据并生成了密钥。我将 JSON 放在执行脚本的文件夹中,还使用 C:/Users/XYZ/ 下的 json 文件创建了 .gdrive_private
但是当我尝试通过 python 访问它时,我收到以下错误。
InvalidClientSecretsError: ('Error opening file', 'C:\\Users\\XYZ\\.gdrive_private', 'No such file or directory', 2)
File "C:\Users\XYZ\anaconda3\lib\site-packages\oauth2client\clientsecrets.py", line 124, in _loadfile
raise InvalidClientSecretsError('Error opening file', exc.filename,
InvalidClientSecretsError: ('Error opening file', 'C:\\Users\\XYZ\\.gdrive_private', 'No such file or directory', 2)
我的代码:
import gspread
from df2gspread import df2gspread as d2g
from google.oauth2.service_account import Credentials
# Connect to Gsheets
scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
credentials = Credentials.from_service_account_file('myprojects-130288-28afb6b85524.json', scopes=scope)
gc = gspread.authorize(credentials)
spreadsheet_key = 'XYZ-Key'
wks_name = 'Sheet1'
d2g.upload(dataframe, spreadsheet_key, wks_name, credentials=credentials, row_names=True)
奇怪的错误是 C:\Users\XYZ\.gdrive_private 错误消息中的双反斜杠。知道为什么会有双反斜杠以及如何纠正这个问题吗?
编辑:
请注意,我可以使用以下方式访问该文件并打印工作表的内容:
import gspread
gc = gspread.service_account(filename='A:/Documents/Python Projects/XYZ/mypythonproject-6b9fa9b18506.json')
sh = gc.open("TEST Data")
print(sh.sheet1.get('A1'))
仅当我尝试使用 df2gspread 编辑和上传工作表时才出现错误