使用 google 查询下载已发布 sheet 的部分内容
Using google query to download parts of a published sheet
这个有效:
curl 'https://docs.google.com/spreadsheets/d/e/2PACX-1vS3iBtVf4i_won5zAN9NGPqhcd6CcTb-4QHxpisSjCmlgV95B6mFmZvtMaC9GPvD7m8kD-6XLkVAhfc/pub?gid=911257845&single=true&output=csv'
但是我只想选择计数 > 300 的行。
编码前的查询将是
select * where F > 300
编码后
select%20*%20where%20F%3E300
所以 url 变成
https://docs.google.com/spreadsheets/d/e/2PACX-1vS3iBtVf4i_won5zAN9NGPqhcd6CcTb-4QHxpisSjCmlgV95B6mFmZvtMaC9GPvD7m8kD-6XLkVAhfc/pub?gid=911257845&output=csv&tq=select%20*%20where%20F%3E300
上面的行检索了一个文件,但它 returns 整个文件,并且没有过滤。
请注意,已发布的网站 sheet 具有
的形式
https://docs.google.com/spreadsheets/d/e/KEY/pub?gid=GID
这行得通。向其中添加 &output=csv(& 之前没有 space)有效,它会作为 csv 文件下载。这将在 excel 中打开并显示 table.
中的数据
我试过这个:
https://docs.google.com/spreadsheets/d/e/2PACX-1vS3iBtVf4i_won5zAN9NGPqhcd6CcTb-4QHxpisSjCmlgV95B6mFmZvtMaC9GPvD7m8kD-6XLkVAhfc/pub?gid=911257845&output=csv&tq=select%20*%20where%20F%3E%20300
和
并出现错误 -- 资源不可用。
上面的页面应该public给想要尝试的人。
这可能是发布 sheet 和与拥有 link 的任何人分享整个传播 sheet 之间的问题。
我创建了一个使用 importrange() 的新页面,它从主 sheet 页面吸取了页面,那个是 public。
https://docs.google.com/spreadsheets/d/1-lqLuYJyHAKix-T8NR8wV8ZUUbVOJrZTysccid2-ycs/edit?usp=sharing
这个修改怎么样?
修改点:
- 使用query时,请使用like
https://docs.google.com/spreadsheets/d/### file ID ###/gviz/tq?gid=###&tq=### query ###
.
- 解码
select%20*%20where%20%F%3E300
时,为select * where %F>300
。
select * where F > 300
是 select%20%2a%20where%20F%20%3e%20300
.
- 为了输出CSV,请使用
tqx=out:csv
。
- 请分享电子表格。
- 在 Google 驱动器上
- 在电子表格文件中
- 右键单击 -> 共享 -> 高级 -> 单击 "change" 在 "Private - Only you can access"
- 勾选"On Anyone with the link"
- 点击"Save"
- 在"Link to share",复制URL。
- 从
https://docs.google.com/spreadsheets/d/### file ID ###/edit?usp=sharing
中检索文件 ID
修改后的 curl 命令:
curl 'https://docs.google.com/spreadsheets/d/### file ID ###/gviz/tq?gid=911257845&tq=select%20%2a%20where%20F%20%3e%20300&tqx=out:csv'
参考:
如果我误解了你的问题,我很抱歉。
编辑:
下面2个URL是你的URL和我的回答的对比。我回答的 URL 与您的 URL.
匹配
1。你的URL
https://docs.google.com/spreadsheets/d/e/2PACX-1vS3iBtVf4i_won5zAN9NGPqhcd6CcTb-4QHxpisSjCmlgV95B6mFmZvtMaC9GPvD7m8kD-6XLkVAhfc/gviz/tq?gid=911257845&output=csv&tq=select%20*%20where%20F%3E300
上面URL分开时,
https://docs.google.com/spreadsheets/d/e/
e/
不是必需的。
2PACX-1vS3iBtVf4i_won5zAN9NGPqhcd6CcTb-4QHxpisSjCmlgV95B6mFmZvtMaC9GPvD7m8kD-6XLkVAhfc
- 这不是电子表格的文件 ID。
/gviz/tq
gid=911257845
output=csv
tq=select%20*%20where%20F%3E300
2。在我的回答中与您的 URL
匹配
https://docs.google.com/spreadsheets/d/### file ID ###/gviz/tq?gid=###&tqx=out:csv&tq=### query ###
上面URL分开时,
https://docs.google.com/spreadsheets/d/
### file ID ###
- 您可以在 here 查看电子表格文件 ID 的详细信息。
/gviz/tq
gid=###
- 可以使用
gid=911257845
.
tqx=out:csv
- 必须使用它来代替
output=csv
。
tq=### query ###
- 你可以使用
tq=select%20*%20where%20F%3E300
.
注:
- 每个数字对应
- 并请分享电子表格如下。这与电子表格上的 "Publish to the web" 不同。
- 在 Google 驱动器上
- 在电子表格文件中
- 右键单击 -> 共享 -> 高级 -> 单击 "change" 在 "Private - Only you can access"
- 勾选"On Anyone with the link"
- 点击"Save"
- 在"Link to share",复制URL。
这个有效:
curl 'https://docs.google.com/spreadsheets/d/e/2PACX-1vS3iBtVf4i_won5zAN9NGPqhcd6CcTb-4QHxpisSjCmlgV95B6mFmZvtMaC9GPvD7m8kD-6XLkVAhfc/pub?gid=911257845&single=true&output=csv'
但是我只想选择计数 > 300 的行。
编码前的查询将是
select * where F > 300
编码后
select%20*%20where%20F%3E300
所以 url 变成
https://docs.google.com/spreadsheets/d/e/2PACX-1vS3iBtVf4i_won5zAN9NGPqhcd6CcTb-4QHxpisSjCmlgV95B6mFmZvtMaC9GPvD7m8kD-6XLkVAhfc/pub?gid=911257845&output=csv&tq=select%20*%20where%20F%3E300
上面的行检索了一个文件,但它 returns 整个文件,并且没有过滤。
请注意,已发布的网站 sheet 具有
的形式https://docs.google.com/spreadsheets/d/e/KEY/pub?gid=GID
这行得通。向其中添加 &output=csv(& 之前没有 space)有效,它会作为 csv 文件下载。这将在 excel 中打开并显示 table.
中的数据我试过这个:
https://docs.google.com/spreadsheets/d/e/2PACX-1vS3iBtVf4i_won5zAN9NGPqhcd6CcTb-4QHxpisSjCmlgV95B6mFmZvtMaC9GPvD7m8kD-6XLkVAhfc/pub?gid=911257845&output=csv&tq=select%20*%20where%20F%3E%20300
和
并出现错误 -- 资源不可用。
上面的页面应该public给想要尝试的人。
这可能是发布 sheet 和与拥有 link 的任何人分享整个传播 sheet 之间的问题。
我创建了一个使用 importrange() 的新页面,它从主 sheet 页面吸取了页面,那个是 public。
https://docs.google.com/spreadsheets/d/1-lqLuYJyHAKix-T8NR8wV8ZUUbVOJrZTysccid2-ycs/edit?usp=sharing
这个修改怎么样?
修改点:
- 使用query时,请使用like
https://docs.google.com/spreadsheets/d/### file ID ###/gviz/tq?gid=###&tq=### query ###
. - 解码
select%20*%20where%20%F%3E300
时,为select * where %F>300
。select * where F > 300
是select%20%2a%20where%20F%20%3e%20300
.
- 为了输出CSV,请使用
tqx=out:csv
。 - 请分享电子表格。
- 在 Google 驱动器上
- 在电子表格文件中
- 右键单击 -> 共享 -> 高级 -> 单击 "change" 在 "Private - Only you can access"
- 勾选"On Anyone with the link"
- 点击"Save"
- 在"Link to share",复制URL。
- 从
https://docs.google.com/spreadsheets/d/### file ID ###/edit?usp=sharing
中检索文件 ID
- 从
- 在 Google 驱动器上
修改后的 curl 命令:
curl 'https://docs.google.com/spreadsheets/d/### file ID ###/gviz/tq?gid=911257845&tq=select%20%2a%20where%20F%20%3e%20300&tqx=out:csv'
参考:
如果我误解了你的问题,我很抱歉。
编辑:
下面2个URL是你的URL和我的回答的对比。我回答的 URL 与您的 URL.
匹配1。你的URL
https://docs.google.com/spreadsheets/d/e/2PACX-1vS3iBtVf4i_won5zAN9NGPqhcd6CcTb-4QHxpisSjCmlgV95B6mFmZvtMaC9GPvD7m8kD-6XLkVAhfc/gviz/tq?gid=911257845&output=csv&tq=select%20*%20where%20F%3E300
上面URL分开时,
https://docs.google.com/spreadsheets/d/e/
e/
不是必需的。
2PACX-1vS3iBtVf4i_won5zAN9NGPqhcd6CcTb-4QHxpisSjCmlgV95B6mFmZvtMaC9GPvD7m8kD-6XLkVAhfc
- 这不是电子表格的文件 ID。
/gviz/tq
gid=911257845
output=csv
tq=select%20*%20where%20F%3E300
2。在我的回答中与您的 URL
匹配https://docs.google.com/spreadsheets/d/### file ID ###/gviz/tq?gid=###&tqx=out:csv&tq=### query ###
上面URL分开时,
https://docs.google.com/spreadsheets/d/
### file ID ###
- 您可以在 here 查看电子表格文件 ID 的详细信息。
/gviz/tq
gid=###
- 可以使用
gid=911257845
.
- 可以使用
tqx=out:csv
- 必须使用它来代替
output=csv
。
- 必须使用它来代替
tq=### query ###
- 你可以使用
tq=select%20*%20where%20F%3E300
.
- 你可以使用
注:
- 每个数字对应
- 并请分享电子表格如下。这与电子表格上的 "Publish to the web" 不同。
- 在 Google 驱动器上
- 在电子表格文件中
- 右键单击 -> 共享 -> 高级 -> 单击 "change" 在 "Private - Only you can access"
- 勾选"On Anyone with the link"
- 点击"Save"
- 在"Link to share",复制URL。
- 在 Google 驱动器上