8

私の会社では、開発環境と本番環境でLinuxを使用しています。ただし、サードパーティのアプリケーションExcelアドインを使用して金融市場データをマシンに取得するため、WindowsとExcelを実行するマシンがあります。アドインは、これらのデータをローカルマシンに取得し、MySqlデータベースに送り返すためのいくつかの関数(Excel関数と同様)を提供します。また、タスクを自動化するためのVBAスクリプトも開発しましたが、それでも結果に満足できません。Pythonを使用してこれらすべてのジョブを実行することを検討していますが、ジャンプする前に、実行できるpythonパッケージを見つける必要があります。

  1. Pythonを使用して(アドインを含む)Excelを操作し、Excelを開かずにその機能を使用しますか?
  2. Excelを開く必要がある場合は、スクリプトを毎日、または1日の特定の瞬間に実行するタスクを自動化する必要があります(市場データは特定の時間にフィードする必要があります)

提案をありがとう

4

2 に答える 2

12

PythonWin32拡張機能が必要になります-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 に答える