下载 link 用于 Google 电子表格 CSV 导出 - 包含多个工作表
Download link for Google Spreadsheets CSV export - with Multiple Sheets
我正在尝试找到一个 link,它允许我下载我的 Google Spreadsheet 的 CSV 格式版本。目前我正在使用:
https://docs.google.com/spreadsheets/d/DOCID/export?format=csv
这很好用,只是它只下载第一个 Sheet。我的文档有多个 sheet。有谁知道如何格式化此 link 以便它下载所有 sheet 或特定的 sheet?类似于:
&sheet=all
或
&sheet=3
Google Sheets 中的每个文档都支持 "Chart Tools datasource protocol",这些文章对此进行了解释(以一种相当随意的方式):
- "Creating a Chart from a Separate Spreadsheet"
- "Query Language Reference"
- "Implementing the Chart Tools Datasource Protocol"
要将特定 sheet 下载为 CSV 文件,请将 {key}
替换为文档 ID,将 {sheet_name}
替换为要导出的 sheet 的名称:
https://docs.google.com/spreadsheets/d/{key}/gviz/tq?tqx=out:csv&sheet={sheet_name}
数据源协议非常灵活。各种其他选项包括:
响应格式:选项包括tqx=out:csv
(CSV格式)、tqx=out:html
(HTMLtable)和tqx=out:json
(JSON 数据).
Export part of a sheet: 提供 range={range}
选项,其中范围可以是任何有效的范围说明符,例如A1:C99
或 B2:F
.
执行SQL查询:提供tq={query}
选项,例如tq=SELECT a, b, (d+e)*2 WHERE c < 100 AND x = 'yes'
.
导出文本数据:如果您的字段包含文本数据,请提供headers=0
选项,否则它们可能会在导出过程中被删除。
- 打开你的Googlesheet
- 单击 "Share" 按钮并配置 "Anyone with the link can view"
- 按 F12 在 Web 浏览器和 select "Net" 选项卡中启动调试工具。
- Select "File -> Download As -> Comma-separated values .csv current sheet"(或您想要的任何格式,例如 xlsx、ods、pdf、html、csv 或 tsv)
- 从 "Net" 选项卡复制 GET 请求的 URL
它将看起来像这样:
https://docs.google.com/spreadsheets/d/KEY/export?format=csv&id=KEY&gid=SHEET_ID
注意,"gid"参数是sheetID,在Googlesheet的URL末尾可以找到.
参考:https://developers.google.com/sheets/api/guides/concepts#sheet_id
This is a sample csv data可以下载。此数据的下载 link 是这样制作的
- Open google sheet->空白->文件->打开
- 从 "My Drive" 或 "Upload"
打开文件
- 文件 -> 发布到网络 -> "Sheet name" 选项和 "csv" 选项
以下 URL 格式(作为模板字符串)是我唯一适用的格式:
`https://docs.google.com/spreadsheets/d/e/${id}/pub?output=csv&id=${id}&gid=${gid}`
这假定整个文档已发布到网络上。
截至 2020 年 11 月,最优雅、最简单的解决方案似乎埋藏在 :
https://docs.google.com/spreadsheets/d/KEY/export?format=csv&gid=SHEET_ID
这是一个活生生的例子;鉴于 Google Sheet 的 KEY
为 1CTgM1g_aYoWFFpHU6A_qyqWGH0ulCFhs67uAcRVf1Rw
即:https://docs.google.com/spreadsheets/d/1CTgM1g_aYoWFFpHU6A_qyqWGH0ulCFhs67uAcRVf1Rw
要获取其第一个 sheet(即 gid=0
)的 CSV 导出的永久链接,请附加:/export?format=csv&gid=0
:
注意:如果您只是导出第一个sheet,即gid=0
,那么URL与URL 原问题中的格式,即
(默认情况下,端点将假定为 gid=0
,如果未指定)
https://docs.google.com/spreadsheets/d/DOCID/export?format=csv
2021更新...
问题在另一个 post 中得到了很好的回答。
我会添加一些注意事项...
在“发布到网络”上有:
- 包含用于选择格式的选项的下拉菜单,
- 选择你想要包括的张纸,
- 最后一个复选框以确保重新发布更改
Publish to Web Google Sheets
主要基于@kiwidrew 的回答,我制作了这个小工具,这样您就不必全部手动完成:Sheet2data.com
几个月前,我开发了一个方便的 python 命令行应用程序,名为 google-sheets-to-csv:https://pypi.org/project/google-sheets-to-csv/ 允许下载多个sheet秒。
linux 的基本用法(可能也适用于 windows,我还没有测试):
pip install google-sheets-to-csv
gs-to-csv <spreadsheet ID> <sheet selector (regex)> <output directory>
其中:
<Spreadshhet ID>
:是url中的怪异数据https://docs.google.com/spreadsheets/d//
<sheet selector (regex)>
:是正则表达式https://en.wikipedia.org/wiki/Regular_expression
<output directory>
是您的文件系统上的现有目录
要一次下载所有 sheet,您可以执行以下操作:
mkdir output/
gs-to-csv DOCID ".*" output/
您会发现每个 sheet.
一个文件
不要错过项目自述文件中的详细信息(关于身份验证,当前发布的令牌尚未由 google 验证,您将收到一条身份验证警告,如用于验证过程的视频中所示:https://youtu.be/7zacMyv_ooU?t=73) If are afraid you can read the code here https://gitlab.com/micro-entreprise/google-sheets-to-csv(它是开源软件!)或使用 google 服务帐户。
转到 文件 > 共享 > 发布到网络
- select你的sheet(例如:sheet-1)
- 在下拉菜单中 select .csv 文件
我正在尝试找到一个 link,它允许我下载我的 Google Spreadsheet 的 CSV 格式版本。目前我正在使用:
https://docs.google.com/spreadsheets/d/DOCID/export?format=csv
这很好用,只是它只下载第一个 Sheet。我的文档有多个 sheet。有谁知道如何格式化此 link 以便它下载所有 sheet 或特定的 sheet?类似于:
&sheet=all
或
&sheet=3
Google Sheets 中的每个文档都支持 "Chart Tools datasource protocol",这些文章对此进行了解释(以一种相当随意的方式):
- "Creating a Chart from a Separate Spreadsheet"
- "Query Language Reference"
- "Implementing the Chart Tools Datasource Protocol"
要将特定 sheet 下载为 CSV 文件,请将 {key}
替换为文档 ID,将 {sheet_name}
替换为要导出的 sheet 的名称:
https://docs.google.com/spreadsheets/d/{key}/gviz/tq?tqx=out:csv&sheet={sheet_name}
数据源协议非常灵活。各种其他选项包括:
响应格式:选项包括tqx=out:csv
(CSV格式)、tqx=out:html
(HTMLtable)和tqx=out:json
(JSON 数据).
Export part of a sheet: 提供 range={range}
选项,其中范围可以是任何有效的范围说明符,例如A1:C99
或 B2:F
.
执行SQL查询:提供tq={query}
选项,例如tq=SELECT a, b, (d+e)*2 WHERE c < 100 AND x = 'yes'
.
导出文本数据:如果您的字段包含文本数据,请提供headers=0
选项,否则它们可能会在导出过程中被删除。
- 打开你的Googlesheet
- 单击 "Share" 按钮并配置 "Anyone with the link can view"
- 按 F12 在 Web 浏览器和 select "Net" 选项卡中启动调试工具。
- Select "File -> Download As -> Comma-separated values .csv current sheet"(或您想要的任何格式,例如 xlsx、ods、pdf、html、csv 或 tsv)
- 从 "Net" 选项卡复制 GET 请求的 URL
它将看起来像这样: https://docs.google.com/spreadsheets/d/KEY/export?format=csv&id=KEY&gid=SHEET_ID
注意,"gid"参数是sheetID,在Googlesheet的URL末尾可以找到. 参考:https://developers.google.com/sheets/api/guides/concepts#sheet_id
This is a sample csv data可以下载。此数据的下载 link 是这样制作的
- Open google sheet->空白->文件->打开
- 从 "My Drive" 或 "Upload" 打开文件
- 文件 -> 发布到网络 -> "Sheet name" 选项和 "csv" 选项
以下 URL 格式(作为模板字符串)是我唯一适用的格式:
`https://docs.google.com/spreadsheets/d/e/${id}/pub?output=csv&id=${id}&gid=${gid}`
这假定整个文档已发布到网络上。
截至 2020 年 11 月,最优雅、最简单的解决方案似乎埋藏在
https://docs.google.com/spreadsheets/d/KEY/export?format=csv&gid=SHEET_ID
这是一个活生生的例子;鉴于 Google Sheet 的 KEY
为 1CTgM1g_aYoWFFpHU6A_qyqWGH0ulCFhs67uAcRVf1Rw
即:https://docs.google.com/spreadsheets/d/1CTgM1g_aYoWFFpHU6A_qyqWGH0ulCFhs67uAcRVf1Rw
要获取其第一个 sheet(即 gid=0
)的 CSV 导出的永久链接,请附加:/export?format=csv&gid=0
:
注意:如果您只是导出第一个sheet,即gid=0
,那么URL与URL 原问题中的格式,即
(默认情况下,端点将假定为 gid=0
,如果未指定)
https://docs.google.com/spreadsheets/d/DOCID/export?format=csv
2021更新... 问题在另一个 post 中得到了很好的回答。 我会添加一些注意事项...
在“发布到网络”上有:
- 包含用于选择格式的选项的下拉菜单,
- 选择你想要包括的张纸,
- 最后一个复选框以确保重新发布更改
Publish to Web Google Sheets
主要基于@kiwidrew 的回答,我制作了这个小工具,这样您就不必全部手动完成:Sheet2data.com
几个月前,我开发了一个方便的 python 命令行应用程序,名为 google-sheets-to-csv:https://pypi.org/project/google-sheets-to-csv/ 允许下载多个sheet秒。
linux 的基本用法(可能也适用于 windows,我还没有测试):
pip install google-sheets-to-csv
gs-to-csv <spreadsheet ID> <sheet selector (regex)> <output directory>
其中:
<Spreadshhet ID>
:是url中的怪异数据https://docs.google.com/spreadsheets/d//<sheet selector (regex)>
:是正则表达式https://en.wikipedia.org/wiki/Regular_expression<output directory>
是您的文件系统上的现有目录
要一次下载所有 sheet,您可以执行以下操作:
mkdir output/
gs-to-csv DOCID ".*" output/
您会发现每个 sheet.
一个文件不要错过项目自述文件中的详细信息(关于身份验证,当前发布的令牌尚未由 google 验证,您将收到一条身份验证警告,如用于验证过程的视频中所示:https://youtu.be/7zacMyv_ooU?t=73) If are afraid you can read the code here https://gitlab.com/micro-entreprise/google-sheets-to-csv(它是开源软件!)或使用 google 服务帐户。
转到 文件 > 共享 > 发布到网络
- select你的sheet(例如:sheet-1)
- 在下拉菜单中 select .csv 文件