Python 如何使用csv中的Pydrive从Google sheet下载特定工作表

Python 如何使用csv中的Pydrive从Google sheet下载特定工作表,python,google-sheets,google-drive-api,google-sheets-api,pydrive,Python,Google Sheets,Google Drive Api,Google Sheets Api,Pydrive,如果我需要使用Python和pydrive下载特定的google工作表,我可以使用如下简单命令: drive.CreateFile({'id':'[sheetID]}).GetContentFile('file.csv', mimetype='text/csv') 这是可行的,但在本例中,我只下载谷歌文件的第一张表单 如果此文件中有多张工作表,我需要下载一张特定的工作表,可能是通过我在URL中看到的ID“…edit#gid=11111 5555”,我如何更改命令 我想下载一张纸,不管它的位置或

如果我需要使用Python和pydrive下载特定的google工作表,我可以使用如下简单命令:

drive.CreateFile({'id':'[sheetID]}).GetContentFile('file.csv', mimetype='text/csv')
这是可行的,但在本例中,我只下载谷歌文件的第一张表单

如果此文件中有多张工作表,我需要下载一张特定的工作表,可能是通过我在URL中看到的ID“…edit#gid=11111 5555”,我如何更改命令

我想下载一张纸,不管它的位置或名称

你能帮我吗


提前谢谢

我相信你的目标如下

  • 您想在Google电子表格中下载特定的表格作为CSV数据
  • 您希望使用pydrive和python来实现您的目标
不幸的是,我无法在pydrive中找到直接实现您目标的方法。因此,在这个回答中,我想提出一个解决方案来实现您的目标。在此解决方案中,从pydrive的授权脚本中检索访问令牌,并使用访问令牌直接向端点请求。示例脚本如下所示

示例脚本:
  • 运行上述脚本时,
    spreadsheetId
    的电子表格中的
    sheetId
    的特定工作表将作为CSV数据下载并创建为文件

你好,朋友,谢谢你的回复!看来这个问题解决了!一个问题:似乎有一个字符集问题,如何指定正确的字符集?@Davide感谢您的回答。我很高兴你的问题解决了。我愿意支持你。但是回答的问题是新问题,这与你的问题不同。你能把它作为新问题发布吗?因为当你的初始问题被评论改变时,看到你的问题的其他用户会感到困惑。通过将其作为新问题发布,包括我在内的用户可以想到它。当时,。如果你能合作解决你的新问题,我很高兴。你能合作解决你的新问题吗?
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
import requests

# Script for authorization of pydrive.
gauth = GoogleAuth()
gauth.LocalWebserverAuth()

# Download the specific sheet in Google Spreadsheet as a CSV data.
spreadsheetId = '###' # Please set the Spreadsheet ID.
sheetId = '###' # Please set the sheet ID. (GID)
url = 'https://docs.google.com/spreadsheets/d/' + spreadsheetId + '/gviz/tq?tqx=out:csv&gid=' + sheetId
headers = {'Authorization': 'Bearer ' + gauth.credentials.access_token}
res = requests.get(url, headers=headers)
with open('file.csv', 'wb') as f:
    f.write(res.content)