104

我正在尝试找到一个链接,该链接允许我下载我的 Google 电子表格的 CSV 格式版本。目前我正在使用:

https://docs.google.com/spreadsheets/d/DOCID/export?format=csv

这很好用,只是它只下载第一个工作表。我的文档有多张纸。有谁知道如何格式化此链接,以便下载所有工作表或特定工作表?就像是:

&sheet=all

或者

&sheet=3
4

9 回答 9

207

Google 表格中的每个文档都支持“图表工具数据源协议”,这些文章(以相当随意的方式)对此进行了解释:

  1. “从单独的电子表格创建图表”
  2. “查询语言参考”
  3. “实现图表工具数据源协议”

要将特定工作表下载为 CSV 文件,请替换{key}为文档的 ID 和{sheet_name}要导出的工作表的名称:

https://docs.google.com/spreadsheets/d/{key}/gviz/tq?tqx=out:csv&sheet={sheet_name}

数据源协议非常灵活。其他各种选项包括:

响应格式: 选项包括tqx=out:csv(CSV 格式)、tqx=out:html(HTML 表格)和tqx=out:json(JSON 数据)。

导出工作表的一部分: 提供range={range}选项,其中范围可以是任何有效的范围说明符,例如A1:C99B2:F

执行 SQL 查询: 提供tq={query}选项,例如tq=SELECT a, b, (d+e)*2 WHERE c < 100 AND x = 'yes'.

导出文本数据:如果您的字段包含文本数据,请 提供该headers=0选项,否则可能会在导出过程中被删除。

于 2015-11-16T03:05:38.727 回答
39
  1. 打开您的 Google 表格
  2. 单击“共享”按钮并配置“知道链接的任何人都可以查看”
  3. 按 F12 在 Web 浏览器中启动调试工具并选择“Net”选项卡。
  4. 选择“文件 -> 下载为 -> 逗号分隔值 .csv 当前工作表”(或您想要的任何格式,例如 xlsx、ods、pdf、html、csv 或 tsv)
  5. 从“网络”选项卡复制 GET 请求的 URL

它看起来像这样: https ://docs.google.com/spreadsheets/d/KEY/export?format=csv&id=KEY&gid=SHEET_ID

请注意,“gid”参数是工作表 ID,您可以在打开的 Google 工作表的 URL 末尾找到它。参考:https ://developers.google.com/sheets/api/guides/concepts#sheet_id

于 2017-05-25T15:19:35.670 回答
26

这是一个可以下载的示例 csv 数据。该数据的下载链接是这样制作的

  1. 打开谷歌表->空白->文件->打开
  2. 从“我的云端硬盘”或“上传”打开文件
  3. 文件 -> 发布到网络 -> “工作表名称”选项和“csv”选项
于 2018-06-11T17:02:06.923 回答
12

截至2020 年 11 月,最优雅、最简单的解决方案似乎埋在@jrc 的回复中:

https://docs.google.com/spreadsheets/d/KEY/export?format=csv&gid=SHEET_ID

这是一个活生生的例子;给定KEY具有1CTgM1g_aYoWFFpHU6A_qyqWGH0ulCFhs67uAcRVf1Rw

即:https ://docs.google.com/spreadsheets/d/1CTgM1g_aYoWFFpHU6A_qyqWGH0ulCFhs67uAcRVf1Rw

要获取其第一个工作表(即gid=0)的 CSV 导出的永久链接,请附加/export?format=csv&gid=0::

https://docs.google.com/spreadsheets/d/1CTgM1g_aYoWFFpHU6A_qyqWGH0ulCFhs67uAcRVf1Rw/export?format=csv&gid=0

注意:如果您只是导出第一张工作表,即gid=0,则 URL 与原始问题中提出的 URL 格式相同,即

(默认情况下,gid=0如果未指定,端点将假定)

https://docs.google.com/spreadsheets/d/DOCID/export?format=csv
于 2020-11-10T23:19:46.420 回答
5

2021 年更新...问题已在另一篇文章中得到很好的回答。我会添加一些需要注意的东西...

在“发布到网络”上有:

  1. 带有选项的下拉菜单可以选择格式,
  2. 选择您想要包含哪些工作表,
  3. 最后是一个复选框,以确保重新发布更改

发布到网络 Google 表格

于 2021-01-17T23:23:27.433 回答
3

主要基于@kiwidrew 的回答,我制作了这个小工具,因此您不必全部手动操作:Sheet2data.com

于 2021-02-22T19:35:27.233 回答
0

几个月前,我开发了一个名为 google-sheets-to-csv 的便捷 python 命令行应用程序:https ://pypi.org/project/google-sheets-to-csv/ ,它允许一次下载多张工作表。

linux上的基本用法(可能也适用于windows,我没有测试):

pip install google-sheets-to-csv
gs-to-csv <spreadsheet ID> <sheet selector (regex)> <output directory>

在哪里:

要一次下载所有工作表,您可以执行以下操作:

mkdir output/
gs-to-csv DOCID ".*" output/

您会在每张纸上找到一个文件。

不要错过项目 README 中的详细信息(关于身份验证,当前发布的令牌尚未由谷歌验证,您将收到一个身份验证警告,如用于验证过程的视频中所示:https ://youtu.be/7zacMyv_ooU?t= 73)如果害怕你可以在这里阅读代码https://gitlab.com/micro-entreprise/google-sheets-to-csv(它是开源软件!)或使用谷歌服务帐户。

于 2021-07-23T22:35:05.753 回答
0

以下 URL 格式(作为模板字符串)是唯一对我有用的格式:

`https://docs.google.com/spreadsheets/d/e/${id}/pub?output=csv&id=${id}&gid=${gid}`

这假设整个文档已发布到网络上。

于 2020-05-14T14:47:32.083 回答
0

转到文件 > 共享 > 发布到网络

  1. 选择您的工作表(例如:工作表-1)
  2. 下拉菜单中选择.csv文件
于 2021-12-20T10:56:14.340 回答