2013-03-17 102 views
6

在我的公司,我们在开发和生产环境中使用Linux。但是我们有一台运行Windows和Excel的机器,因为我们使用第三方应用程序excel插件将金融市场数据发送到机器。该加载项提供了一些函数(就像Excel函数一样)将这些数据导入本地机器,然后发送回MySql数据库。我们还开发了一些VBA脚本来实现任务的自动化,但仍然不能满足结果。 我在考虑使用Python做这些工作,但是在跳之前,我需要找到一个Python包,可以做Python自动化Excel

  1. 使用Python来操纵Excel文件(其加载项),并使用其功能无需打开Excel?
  2. 如果我需要打开Excel中,我需要自动化每天执行脚本的那个任务,或在一天中的特定时刻(需市场数据被养活一个特定的时间)

感谢建议

回答

8

你需要Python的Win32的扩展 - http://sourceforge.net/projects/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任务计划程序上运行所需的时间。

+0

你能有看看我的新问题? http://stackoverflow.com/questions/15929676/access-data-in-excel-reuter-from-python – nam 2013-04-10 15:09:39

0

作为替代方案,您可以考虑使用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/

运气