【问题标题】:Script to open a bunch of browser tabs, based on data from an Excel spreadsheet?根据 Excel 电子表格中的数据打开一堆浏览器选项卡的脚本?
【发布时间】:2012-06-29 10:14:11
【问题描述】:

以链接格式为例:

www.stackoverflow.com/xxxxxxx

我有一个 Excel 电子表格,其中一列是一组 xxxxxx 值。我需要从电子表格中提取所有这些并在我的浏览器上将它们作为新标签打开。这样做的最佳方法是什么?

我以前从未真正编写过脚本,但如果有必要,我非常愿意学习。

【问题讨论】:

  • 哪个平台?在 Linux 上这很容易......
  • 这有两个部分。第二部分(在浏览器中打开链接)很简单——请参阅 TJD 对 Python 版本的回答。第一部分,从 Excel 中获取链接也很容易,但答案取决于各种不同的问题。您是否必须从实时 Excel 进程或文件中提取它?如果是后者,您可以将文件保存为 .csv 格式吗?你用的是 Python 还是 Ruby?你在 Windows 上的 Mac 上吗?您可以通过 pip 或 gem 安装其他模块,还是尝试分发一些东西?
  • Greasemonkey 不是最好的工具,也不能完全自动化这个过程。可以肯定的是,您可以编写一个 Excel 宏来为您打开网页。
  • @BrockAdams,我同意,Excel 是直接路径。一个快速的Google search 出现了很多点击。

标签: python ruby excel scripting automation


【解决方案1】:

您可以使用 python webbrowser 模块

import webbrowser
webbrowser.open('www.stackoverflow.com')
webbrowser.open_new_tab('www.stackoverflow.com/xxxx')

解析您的 CSV 文件以获取字符串对于标准字符串方法来说是微不足道的。

【讨论】:

    【解决方案2】:

    我相信您应该深入研究 Ruby 的 Win32OLE 自动化库。 有了它,您可以在 Windows 中完成各种自动化工作。

    【讨论】:

      【解决方案3】:

      在 python 中,提取 URL 后,使用 webbrowser 模块打开浏览器选项卡。

      要读取 URL,您应该在 Excel 中打开电子表格并将其保存为 CSV 格式,您可以使用 csv 模块读取该格式;或者安装python模块xlrd,它可以读取真正的Excel电子表格。假设您安装了xlrd,您可以提取 URL 并在标签中打开它们,如下所示:

      import xlrd, webbrowser
      
      workbook = xlrd.open_workbook('websites.xls')
      sheet = workbook.sheet_by_name('Sheet1')
      
      # Suppose your URLs are in column 5, rows 2 to 30
      url_column = 5
      for row in range(2, 31):
          url = sheet.cell_value(row, url_column)
          webbrowser.open_new_tab(url)
      

      更新:我现在推荐 openpyxl 而非 xlrd/xlwt 来处理 Excel 文档。可以读写xlsx文件,例如:

      from openpyxl import load_workbook
      wb = load_workbook(filename = 'my_document.xlsx')
      sheet = wb['Sheet1']
      print(sheet['D18'].value)
      

      【讨论】:

        【解决方案4】:

        如果您打算在打开选项卡后对其进行更精细的操作,我建议您查看使用 python 框架的浏览器自动化工具。

        我会推荐Selenium webdriver。它也超级容易使用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-09-24
          • 2018-08-29
          • 1970-01-01
          • 2012-06-20
          • 2016-10-18
          • 1970-01-01
          相关资源
          最近更新 更多