我想给 pandas 读 Google 表格。关于此主题已经回答了许多问题,但所有答案(基本上使用 gspread)都需要凭据。 在这里,我没有(或不想拥有)凭据,但打开了一个共享链接以供查看。
我什至可以使用
urllib.request
下载缓冲区(作为 HTML)
那么,给定共享链接或缓冲区,但没有凭据,我如何将 Google 表解析为 Python 数据结构?
您可以使用以下任意端点。
/export
终点:直接端点 url
https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/export?format=[FORMAT]&gid=(SHEET_ID)&range=(A1NOTATION)
File:get
返回的链接。
https://docs.google.com/spreadsheets/export?id=[SPREADSHEET_ID]&exportFormat=[FORMAT]
/gviz/tq
导出参数:
?tqx=out:(FORMAT)
示例网址:
https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/gviz/tq?tq=(URL_ENCODED_QUERY)&sheet=(SHEETNAME)&range=(A1NOTATION)&tqx=out:(FORMAT)
哪里
SPREADSHEET_ID
是您的电子表格 ID FORMAT
是 CSV
、PDF
之一(仅在 gviz/tq 端点中支持 html、json;仅在驱动器导出端点中支持 ods、xlsx、zip)SHEET_ID
是工作表 ID,如网址中所示 #gid=SHEET_ID
SHEET_NAME
- 工作表名称A1NOTATION
- 范围字符串,如A1:G5
()
建议可选参数,[]
建议必需参数。
通常,您会使用
csv
作为导出格式来获取文件并使用 pandas.readcsv()
,但 json
、html
和 xlsx
同样有效