8

在我公司,我们在开发和生产环境中使用 Linux。但是我们有一台运行 Windows 和 Excel 的机器,因为我们使用第三方应用程序 excel 插件来获取机器的金融市场数据。插件提供了一些函数(就像 Excel 函数),用于将这些数据获取到本地计算机,然后发送回 MySql 数据库。我们还开发了一些 VBA 脚本来自动化任务,但仍然对结果不满意。我正在考虑使用 Python 来完成所有这些工作,但在开始之前,我需要找到一个可以做的 python 包

  1. 使用python操作Excel(及其加载项)并在不打开Excel的情况下使用其功能?
  2. 如果我需要打开 Excel,我需要每天自动执行脚本的任务,或者在一天中的特定时刻(市场数据需要在特定时间提供)

感谢您的建议

4

2 回答 2

12

您将需要 Python Win32 扩展 - http://sourceforge.net/projects/pywin32/

(现已迁移到 GitHub:https ://github.com/mhammond/pywin32 )

然后你就可以使用COM了。

from win32com.client import Dispatch
excel = Dispatch('Excel.Application')
wb = excel.Workbooks.Open(r'c:\path\to\file.xlsx')
ws = wb.Sheets('My Sheet')
# do other stuff, just like VBA
wb.Close()
excel.Quit()

您可以将脚本放在 Windows 任务计划程序上,以便在您需要的时间运行。

于 2013-03-17T23:01:43.033 回答
2

作为替代方案,您可以考虑使用 openpyxl。

import openpyxl
wb= openpyxl.Workbook()
ws = wb.get_active_sheet()
ws.title = 'My Title'
wb.save('C:\\Development\\Python\\alpha.xlsx')

这是我正在阅读的书中的一章。

https://automatetheboringstuff.com/chapter12/

运气

于 2017-04-18T08:45:42.047 回答