【问题标题】:Import Data from Web Exportable Spreadsheet从 Web 可导出电子表格导入数据
【发布时间】:2014-06-24 14:19:49
【问题描述】:

我有一个使用来自 fangraphs.com 的大量数据的电子表格。这是我正在使用的数据集之一的示例:

http://www.fangraphs.com/leaders.aspx?pos=all&stats=bat&lg=all&qual=0&type=0&season=2014&month=0&season1=2013&ind=0&team=0&rost=0&age=0&filter=&players=0

这是另一个例子:

http://www.fangraphs.com/leaders.aspx?pos=all&stats=bat&lg=all&qual=0&type=0&season=2014&month=13&season1=2013&ind=0&team=0&rost=0&age=0&filter=&players=0

因此,在我的电子表格中,我有一个选项卡,其中包含您在该网站上选择“导出数据”时获得的数据。目前,当我想更新数据时,我需要访问该站点并手动导出每个电子表格并将它们粘贴到我的主工作表的选项卡中。

如何让我的主工作表中的两个选项卡自动更新这些可导出工作表中的数据?一位朋友提到我可以使用 R,所以我下载了它,但我不确定从哪里开始自学如何做到这一点。

提前致谢,如果您需要更多详细信息,请告诉我!

【问题讨论】:

    标签: r excel vba


    【解决方案1】:

    您可能需要为每个团队下载团队,以确保您不会错过表格中的某些行: 例如对于天使(=团队 1)

    library(XML)
    x=readHTMLTable(doc = "http://www.fangraphs.com/leaders.aspx?pos=p&stats=bat&lg=all&qual=0&type=0&season=2014&month=0&season1=2013&ind=0&team=1&rost=0&age=0&filter=&players=0")  
    x[[33]]
    

    【讨论】:

    • 因此,换句话说,您建议不要使用可导出的表格来获取所有行,而是直接从网站上阅读并一次去一个团队?
    • 可能想在此添加 library(XML) 以进行澄清
    • @fullOfQuestions 是的,这是一个建议。虽然不是真正的推荐。但可能是您的问题的解决方案。
    • @fullOfQuestions 另一种选择是使用脚本触发 javascript 按钮,但我认为 R 在这里没有帮助。
    【解决方案2】:

    您无需学习全新的语言(在本例中为R)即可完成工作。

    基本上你要编写浏览器自动化脚本(点击、等待、获取数据)或“报废”网页。

    你可以用你已经知道的语言编写浏览器自动化脚本,检查https://code.google.com/p/selenium-vba

    这个问题也提供了一些提示:How to download the contents of a paginated Jquery/JS table?

    【讨论】:

      猜你喜欢
      • 2012-05-03
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多