2013-03-17 151 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/

運氣