【问题标题】:Octave doesn't read google spreadsheetOctave 不读取谷歌电子表格
【发布时间】:2014-11-07 22:20:34
【问题描述】:

urlread 无法打开可供知道该链接的任何人使用的电子表格。它从浏览器打开,但 urlread 给出了这个错误:

octave:1> a=urlread('https://docs.google.com/spreadsheets/d/.../edit?usp=sharing'); 错误:urlread:curl:对等证书无法使用给定的 CA 证书进行身份验证

有没有办法将 Google 电子表格导入 octave 程序?

【问题讨论】:

  • GNU/Linux 或 Windows 上的八度音阶?如果是后者,您是否为 curl 安装了 CA 证书?
  • 它在 Windows 上(很疯狂,对吗?),现在我又回到了 Linux 上,但仍然无法检索到数字数组。

标签: curl octave google-docs


【解决方案1】:

这似乎可行,但您需要一个任何人都可以查看的 Google 电子表格链接,我假设您拥有该链接,因为您发布的 URL 的末尾包含“共享”。

octave:1> urlwrite("https://docs.google.com/spreadsheets/d/.../export?format=csv", "filename.csv")
octave:2> a = load("filename.csv")
a =

    1   23    4    5
    1    6    3    7
    1    6    6    7

... 替换为您的 Google 电子表格的 ID。

这里的关键组件是/d/.../export?format=csv,它将文件的下载指定为csv。如果您不想使用 csv,Google 电子表格还支持多种不同的文件类型。

【讨论】:

  • 石脑油,谢谢,这读取了文件,虽然它写的是 html 文件,而不是 csv 格式,但加载无法读取。你能弄清楚这里有什么问题吗?另外,有没有办法从八度更新谷歌电子表格中的值?我的意思是,就像在 Javascript API 下使用 .setValue() 一样。
  • 看来您可以使用Google Sheets API 来更新电子表格。然而,这似乎比它的价值更麻烦,这取决于您需要能够使用 Octave 编辑工作表的严重程度。至于 urlwrite() 返回 html 文件的问题。如果您未将文档共享设置为“知道链接的任何人都可以查看”,则可能会发生这种情况。只需确保使用 Google 表格右上角的“分享”按钮,然后点击“获取可分享的链接”
  • 似乎其他人已经评论了这个的精炼版本:New Google Spreadsheets publish limitation。 @石脑油
  • 现在它检索正确的 csv 文件。谢谢! @安迪
  • 好吧,虽然 sheet=NAME 不会引发错误,但它始终会返回第一张工作表。但是 gid=NUMBER DOES 有效,只是序列不是 0,1,2...,就像任何有 Google Apps 经验的人可能会想的那样,而是每张纸都有一个具体的数字。如果您在显示工作表时查看浏览器中的 URL,最后会出现 #gid=NUMBER。就是这个!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-22
  • 1970-01-01
相关资源
最近更新 更多