下载Google Spreadsheets CSV导出链接 - 使用多张表格

时间:2015-11-14 20:38:52

标签: google-sheets google-drive-api google-spreadsheet-api

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

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

这很有效,只是它只下载第一张Sheet。我的文档有多张表。有谁知道如何格式化此链接,以便下载所有工作表或特定工作表?类似的东西:

&sheet=all

&sheet=3

8 个答案:

答案 0 :(得分:79)

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

  1. "Creating a Chart from a Separate Spreadsheet"
  2. "Query Language Reference"
  3. "Implementing the Chart Tools Datasource Protocol"
  4. 要将特定工作表下载为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选项,否则在导出时可能会将其删除。

答案 1 :(得分:14)

  1. 打开Goog​​le表格
  2. 点击&#34;分享&#34;按钮和配置&#34;任何有链接的人都可以查看&#34;
  3. 按F12在您的网络浏览器中启动调试工具,然后选择&#34; Net&#34;标签。
  4. 选择&#34;文件 - &gt;下载As - &gt;逗号分隔值.csv当前表&#34; (或任何你想要的格式,例如xlsx,ods,pdf,html,csv或tsv)
  5. 从&#34; Net&#34;复制GET请求的网址标签
  6. 它看起来像这样: https://docs.google.com/spreadsheets/d/KEY/export?format=csv&id=KEY&gid=SHEET_ID

    注意,&#34; gid&#34;参数是工作表ID,您可以在打开的Google工作表的网址末尾找到该工作表ID。 参考:https://developers.google.com/sheets/api/guides/concepts#sheet_id

答案 2 :(得分:4)

截至 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

答案 3 :(得分:3)

2021 更新... 问题在另一个post中得到了很好的回答。 我会添加一些需要注意的东西...

在“发布到网络”上有:

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

Publish to Web Google Sheets

答案 4 :(得分:2)

this可以下载。这个数据的下载链接就像这样

  1. This is a sample csv data - &GT;空白 - &gt;文件 - &gt;打开
  2. 从“我的云端硬盘”或“上传”
  3. 打开文件
  4. 文件 - &gt;发布到网络 - &gt; “工作表名称”选项和“csv”选项

答案 5 :(得分:2)

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

答案 6 :(得分: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(它是开源软件!)或使用谷歌服务帐户。

答案 7 :(得分:-1)

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

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

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