下载链接为谷歌电子表格 CSV 导出-与多张

我试图找到一个链接,让我下载一个 CSV 格式的版本,我的谷歌电子表格。目前我使用:

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

除了只下载第一个工作表之外,这种方法非常有效。我的文件有很多页。是否有人知道如何格式化这个链接,以便它下载要么所有的工作表或一个特定的工作表?比如:

&sheet=all

或者

&sheet=3
96829 次浏览

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

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

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

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

The datasource protocol is quite flexible. Various other options include:

响应格式: 选项包括 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选项,否则在导出过程中可能会删除这些字段。

  1. 打开你的谷歌表格
  2. Click the "Share" button and configure "Anyone with the link can view"
  3. 按 F12启动调试工具在您的网络浏览器,并选择“网络”选项卡。
  4. 选择「档案-> 下载原逗号分隔值」。Csv 当前工作表”(或任何你想要的格式,例如 xlsx、 ods、 pdf、 html、 csv 或 tsv)
  5. 从“ Net”选项卡复制 GET 请求的 URL

它会看起来像这样: Https://docs.google.com/spreadsheets/d/key/export?format=csv&id=key&gid=sheet_id

注意,“ gid”参数是工作表 ID,您可以在打开的 Google 工作表的 URL 末尾找到它。 参考文献: < a href = “ https://developers.google.com/sheet/api/guide/Ideas # sheet _ id”rel = “ norefrer”> https://developers.google.com/sheets/api/guides/concepts#sheet_id

这是一个示例 csv 数据 可以下载

  1. 打开谷歌页面 -> 空白-> 文件-> 打开
  2. 从“我的驱动器”或“上传”打开文件
  3. 文件-> 发布到网络-> “工作表名称”选项和“ csv”选项

The following URL format (as a template string) is the only one that worked from me:

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

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

至于 2020年11月,最优雅、最简单的解决方案似乎被埋没在 @jrc's reply中:

Https://docs.google.com/spreadsheets/d/key/export?format=csv&gid=sheet_id

这里有一个活生生的例子; 给出了一个 KEY1CTgM1g_aYoWFFpHU6A_qyqWGH0ulCFhs67uAcRVf1Rw的 Google 页面

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

2021年更新。 问题在另一个 邮寄中得到了很好的回答。 I'll add some things to look out for ...

关于“发布到网络”,有:

  1. 下拉列表,其中包含选择格式的选项,
  2. 一个选择 哪个表,你想包括在内,
  3. 最后一个确保更改被重新发布的复选框

发布到网上

几个月前,我开发了一个方便的 python 命令行应用程序,名为 google-sheet-to-csv: 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(这是开源软件或使用谷歌服务帐户。